打印
[STM32G4]

如何处理多个溢出中断

[复制链接]
151|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
空间规划科|  楼主 | 2024-8-31 18:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在长时间捕获过程中,如何处理多个溢出中断?

使用特权

评论回复
沙发
夜阑风雨| | 2024-9-21 22:28 | 只看该作者
在长时间捕获过程中处理多个溢出中断是一个常见的问题,特别是在使用定时器进行高精度时间测量时。溢出中断通常发生在定时器的计数器达到其最大值并回滚到零时。如果捕获事件发生在两个溢出中断之间,你需要确保能够正确地计算出捕获事件的实际时间。

使用特权

评论回复
板凳
远山寻你| | 2024-9-22 02:00 | 只看该作者
在每次溢出中断发生时,增加一个计数器(例如 overflow_count)。当捕获事件发生时,读取当前定时器的计数值,并结合 overflow_count 计算出捕获事件的实际时间

使用特权

评论回复
地板
三生万物| | 2024-9-22 03:00 | 只看该作者
如果硬件支持,使用一个更高位的定时器(例如 32 位定时器而不是 16 位定时器),这样可以减少溢出中断的频率

使用特权

评论回复
5
别乱了阵脚| | 2024-9-22 04:00 | 只看该作者
在捕获事件发生时,如果检测到在上一次捕获事件之后发生了溢出中断,可以通过软件计算来补偿时间差。

使用特权

评论回复
6
冰春彩落下| | 2024-9-22 05:00 | 只看该作者
允许定时器溢出中断嵌套在其他中断处理中,确保在捕获事件中断中能够及时处理溢出中断的计数

使用特权

评论回复
7
江河千里| | 2024-9-22 06:00 | 只看该作者
HAL_TIM_PeriodElapsedCallback 函数在每次定时器溢出时被调用,增加 overflow_count 计数器。HAL_TIM_IC_CaptureCallback 函数在捕获事件发生时被调用,读取当前捕获值,并结合 overflow_count 计算出实际捕获时间。

使用特权

评论回复
8
一秒落纱| | 2024-9-22 07:00 | 只看该作者
一般可以通过定时器来实现,你可以确保在长时间捕获过程中正确处理多个溢出中断,从而获得准确的捕获时间

使用特权

评论回复
9
光辉梦境| | 2024-9-22 08:00 | 只看该作者
其实弄个全局变量来实现记录溢出次数,然后到了次数之后,进行中断触发呗

使用特权

评论回复
10
淡漠安然| | 2024-9-22 09:00 | 只看该作者
什么叫多个溢出中断啊?是同时来好几个溢出中断?

使用特权

评论回复
11
暖了夏天蓝了海| | 2024-9-22 10:00 | 只看该作者
按顺序处理呗,可以把溢出的数值调大一些吧

使用特权

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

本版积分规则

21

主题

121

帖子

0

粉丝