天天看點

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 */
}
           

繼續閱讀