MENU

STM32CubeMX中HAL_SYSTICK_Callback()失效、无效、未执行解决方案

March 12, 2021 • 硬件

问题

STM32 HAL_SYSTICK_Callback() 失效、无效、未执行

原因

调用关系:SysTick_Handler() --> HAL_SYSTICK_IRQHandler() --> HAL_SYSTICK_Callback()
STM32CubeMX v5.x 为避免HAL_SYSTICK_Callback()执行时间超过1ms或产生循环依赖时出现阻塞,默认不调用HAL_SYSTICK_IRQHandler(),并不是bug。

解决

需要在SysTick_Handler()中的用户段手动增加HAL_SYSTICK_IRQHandler()

void SysTick_Handler(void)
{
  /* USER CODE BEGIN SysTick_IRQn 0 */

  /* USER CODE END SysTick_IRQn 0 */
  HAL_IncTick();
  /* USER CODE BEGIN SysTick_IRQn 1 */
  HAL_SYSTICK_IRQHandler();            
  /* USER CODE END SysTick_IRQn 1 */
}

Last Modified: February 16, 2023
Leave a Comment

已有 1 条评论
  1. 又

    医院预约的那个还可以用吗,怎么联系你

0:00