需求
今天调试的时候,发现通过 systick
的 callback
并没有被调用到,这个有问题。
解决
整体的调用流程是: SysTick_Handler -> HAL_SYSTICK_IRQHandler -> HAL_SYSTICK_Callback
, 但是在最新生成的库函数中, SysTick_Handler
中没有默认调用 HAL_SYSTICK_IRQHandler
, 所以需要手动在 HAL_IncTick
后添加。
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 */
}