天天看点

HAL生成一个代码 卡死问题 EXPORT SysTick_Handler [WEAK] B . HAL_Delay(500);

问题一:用HAL生成一个简单的代码发现卡死在这个位置

EXPORT  SysTick_Handler            [WEAK]                 
B       .
           

经检查是没有生成

解决办法如图

HAL生成一个代码 卡死问题 EXPORT SysTick_Handler [WEAK] B . HAL_Delay(500);

问题二:调用延时函数卡死

dealy(100);
		HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
		dealy(100);
		HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
           

解决办法:

打开 stm32f1xx_it.c 找到 SysTick_Handler 中断调用函数 添加 HAL_IncTick();

void SysTick_Handler(void)
{
  /* USER CODE BEGIN SysTick_IRQn 0 */
	HAL_IncTick();
  /* USER CODE END SysTick_IRQn 0 */
  /* USER CODE BEGIN SysTick_IRQn 1 */

  /* USER CODE END SysTick_IRQn 1 */
}
           

继续阅读