初级会员

- 积分
- 90
- 金钱
- 90
- 注册时间
- 2019-7-28
- 在线时间
- 33 小时
|
5金钱
前面在移植FreeRTOS的时候修改了HAL库的中断函数,发现一个比较奇怪的问题,自行调试不知道什么原因,求助大神。
基本思想就是TIM5定时1S,进入中断服务函数,切换GPIOG1的状态。
如图,因为只是定时中断,注释掉了HAL_TIM_IRQHandler(&htim5);,自己加上了__HAL_TIM_CLEAR_IT(&htim5, TIM_IT_UPDATE);。但程序无法运行,Debug看到标志位没有被清除
1.然后尝试加上一个Callback函数,就可以正常运行了。而且不论加上什么Callback都可以正常运行。
2.不加上Callback,在__HAL_TIM_CLEAR_IT(&htim5, TIM_IT_UPDATE);后又加上一句__HAL_TIM_CLEAR_IT(&htim5, TIM_IT_UPDATE),程序也可以正常运行。
对其内在机理不太了解,望指教。
|
|