STM32的IAP跳转到APP后卡死在HAL_Delay()延时函数问题分析与解决

描述:

因为使用了操作系统,所有使用TIM2做为HAL_Delay()延时函数的时基。当程序充IAP跳转到APP之后,程序卡死在MX_SDADC1_Init();中,因为该函数调用了HAL_Delay()延时函数;而uwTick一直没有计数导致。

解决方案:

在APP的程序中,调用HAL_Init();之后,开启中断即可解决该问题。

   __set_FAULTMASK(1); 
  
  /* set vector table*/
  SCB->VTOR = FLASH_BASE | 0x1F800; //
  /* USER CODE END 1 */ 

  /* MCU Configuration--------------------------------------------------------*/
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */
  /* open interruption*/
  __ASM("CPSIE  I");   // 
  __set_FAULTMASK(0);  // 

猜你喜欢

转载自blog.csdn.net/ge2ming/article/details/130945360
今日推荐