[STM32F7] STM32F767定时器溢出中断标志位的问题

[复制链接]
3203|7
 楼主| Cjy_JDxy 发表于 2018-12-10 14:56 | 显示全部楼层 |阅读模式
我写了个定时器4溢出中断的程序,参考开发板例程,发现定时不准,
程序里没有判断定时器溢出中断标志。我不知道用HAL库如何清除
定时器4的溢出中断标志。请高手指教,谢谢!
df_flying 发表于 2018-12-10 15:33 | 显示全部楼层
本帖最后由 df_flying 于 2018-12-10 15:35 编辑

HAL库没有那么神秘,你跟进去看就是在LL上封装了一层,中断处理上HAL确实使用了轮询,处理的case比较多。中断入口一般都在stm32f7xx_it.c文件,这个函数你可以自己写,你也可以调用callback函数HAL_TIM_PeriodElapsedCallback(),这里清零已经HAL里封装好了。你跟HAL_TIM_IRQHandler   这个函数即可
  /* TIM Update event */
  if(__HAL_TIM_GET_FLAG(htim, TIM_FLAG_UPDATE) != RESET)
  {
    if(__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_UPDATE) !=RESET)
    {
      __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE);             <----------------这里清零
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
      htim->PeriodElapsedCallback(htim);
#else
      HAL_TIM_PeriodElapsedCallback(htim);
#endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
    }
  }
 楼主| Cjy_JDxy 发表于 2018-12-10 17:14 | 显示全部楼层
df_flying 发表于 2018-12-10 15:33
HAL库没有那么神秘,你跟进去看就是在LL上封装了一层,中断处理上HAL确实使用了轮询,处理的case比较多。中 ...

谢谢!我明白了
磨砂 发表于 2018-12-13 12:46 | 显示全部楼层
大概差多少啊
晓伍 发表于 2018-12-13 12:52 | 显示全部楼层
问题是如何进行校准啊
guanjiaer 发表于 2018-12-13 16:25 | 显示全部楼层
用的什么晶振啊
 楼主| Cjy_JDxy 发表于 2018-12-13 16:36 | 显示全部楼层

差的很离谱,10秒钟差2秒
磨砂 发表于 2018-12-14 10:03 | 显示全部楼层
Cjy_JDxy 发表于 2018-12-13 16:36
差的很离谱,10秒钟差2秒

那这个也差的太多了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:绿水本无忧因风皱面,青山原不老为雪白头。

553

主题

3530

帖子

20

粉丝
快速回复 在线客服 返回列表 返回顶部