打印
[STM32F7]

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

[复制链接]
2980|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 | 只看该作者
大概差多少啊

使用特权

评论回复
5
晓伍| | 2018-12-13 12:52 | 只看该作者
问题是如何进行校准啊

使用特权

评论回复
6
guanjiaer| | 2018-12-13 16:25 | 只看该作者
用的什么晶振啊

使用特权

评论回复
7
Cjy_JDxy|  楼主 | 2018-12-13 16:36 | 只看该作者

差的很离谱,10秒钟差2秒

使用特权

评论回复
8
磨砂| | 2018-12-14 10:03 | 只看该作者
Cjy_JDxy 发表于 2018-12-13 16:36
差的很离谱,10秒钟差2秒

那这个也差的太多了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

553

主题

3530

帖子

19

粉丝