硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5178|回复: 3
收起左侧

[有问必答] 定时器中断的什么时候清除更新中断!

[复制链接]

45

主题

70

回帖

205

积分

高级会员

积分
205
发表于 2021-1-28 19:55:17 | 显示全部楼层 |阅读模式
stm32的定时器中断函数中
  1. void TIM4_IRQHandler(void)
  2. {
  3.     if (TIM_GetITStatus(TIM4, TIM_IT_Update) != RESET)
  4.    {
复制代码

1. 如果没有清除中断位,定时器计数器会继续增加(向上计数)吗?
2.清除中断位的位置放在哪比较合适?


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2021-1-29 08:30:48 | 显示全部楼层
检测到标志后清除,如果你不清除,很容易造成频繁进中断,
回复

使用道具 举报

45

主题

70

回帖

205

积分

高级会员

积分
205
 楼主| 发表于 2021-1-29 14:43:50 | 显示全部楼层
eric2013 发表于 2021-1-29 08:30
检测到标志后清除,如果你不清除,很容易造成频繁进中断,

嗯 这意思是stm32内部有机制 在读标志位 如果标志位是1 就又进TIMX_IRQHandler了?那比如说 我把清中断放最后,中间执行callback函数要一段时间,那我还没退出TIMX_IRQHandler呢,就又进来TIMX_IRQHandler啦?

那在运行callback函数函数过程中(清中断放最后),定时器计数器还继续增加吗?
回复

使用道具 举报

1

主题

37

回帖

45

积分

新手上路

积分
45
发表于 2021-1-29 18:51:40 | 显示全部楼层
chinashaoshu 发表于 2021-1-29 14:43
嗯 这意思是stm32内部有机制 在读标志位 如果标志位是1 就又进TIMX_IRQHandler了?那比如说 我把清中断放 ...

退出中断函数之后,再重新进入,定时器如果设置成周期的,还是会继续计数的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-16 15:06 , Processed in 0.038081 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表