打印
[其他ST产品]

TIM2输入捕获,DMA开启中断传输输入捕获数据,TIM6计时

[复制链接]
974|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2024-10-5 19:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

用TIM2捕获输入的数据,并且通过DMA存储,在开启DMA中断同时,TIM6中断也开启(用于计时)。但是程序跑的过程中,DMA一直中断,TIM6只触发一次中断。

使用特权

评论回复
沙发
别乱了阵脚| | 2024-10-13 21:36 | 只看该作者
你遇到的问题可能是由于DMA和TIM6中断的优先级设置不当,或者DMA中断处理函数中存在阻塞操作导致的

使用特权

评论回复
板凳
冰春彩落下| | 2024-10-14 02:00 | 只看该作者
检查中断优先级设置,确保DMATIM6的中断优先级设置合理。通常情况下,DMA中断的优先级应该高于TIM6中断,以确保DMA能够及时处理数据传输

使用特权

评论回复
地板
一秒落纱| | 2024-10-14 03:00 | 只看该作者
确保DMA中断处理函数中没有阻塞操作,避免影响其他中断的触发。确保TIM6中断处理函数中没有阻塞操作,避免影响其他中断的触发

使用特权

评论回复
5
夜阑风雨| | 2024-10-14 04:00 | 只看该作者
保证DMA配置正确,特别是数据传输方向和缓冲区大小

使用特权

评论回复
6
三生万物| | 2024-10-14 05:00 | 只看该作者
打印调试信息:在中断处理函数中添加调试信息打印,观察DMATIM6中断的触发情况。使用printfHAL_UART_Transmit函数打印调试信息

使用特权

评论回复
7
远山寻你| | 2024-10-14 06:00 | 只看该作者
使用逻辑分析仪监测TIM6DMA的中断信号,观察中断触发情况

使用特权

评论回复
8
暖了夏天蓝了海| | 2024-10-14 07:00 | 只看该作者
检查时钟配置:确保TIM6的时钟配置正确,时钟频率设置合理

使用特权

评论回复
9
光辉梦境| | 2024-10-14 08:00 | 只看该作者
这个没啥问题啊,你用cubemx配置一下就可以了

使用特权

评论回复
10
淡漠安然| | 2024-10-14 09:00 | 只看该作者
是不是你的中断优先级设计错了啊

使用特权

评论回复
11
淡漠安然| | 2024-10-14 09:00 | 只看该作者
是不是你的中断优先级设计错了啊

使用特权

评论回复
12
江河千里| | 2024-10-14 10:00 | 只看该作者
我觉得你应该是哪个中断之类的标记没清吧

使用特权

评论回复
13
公羊子丹| | 2025-2-5 09:24 | 只看该作者
你说的DMA一直中断,可能是DMA的传输完成标志没有清除。可以检查一下DMA的状态寄存器,确保在每次中断处理后清除标志。

使用特权

评论回复
14
周半梅| | 2025-2-5 09:26 | 只看该作者
可能是TIM2的捕获中断和DMA中断的优先级配置有冲突,导致DMA一直触发。检查一下中断优先级设置,避免优先级过低。

使用特权

评论回复
15
帛灿灿| | 2025-2-5 09:28 | 只看该作者
DMA中断触发频繁的原因有可能是缓冲区没有被正确更新,或者DMA的数据传输没有被正确管理。你有没有检查过DMA的传输模式设置(例如循环模式或正常模式)?

使用特权

评论回复
16
童雨竹| | 2025-2-5 09:29 | 只看该作者
TIM6中断只触发一次,可能是TIM6的计时器溢出没有被正确配置,或者TIM6的中断使能没有在正确的位置进行。如果是计时器溢出导致的,建议检查一下计时器的计数值和中断条件。

使用特权

评论回复
17
万图| | 2025-2-5 09:31 | 只看该作者
我遇到过类似问题,原因是TIM2和DMA的中断处理没有正确嵌套处理。试着检查一下是否在DMA中断处理中重新配置了TIM2,导致它没有继续正常工作。

使用特权

评论回复
18
Wordsworth| | 2025-2-5 09:32 | 只看该作者
你确认TIM6的计时功能正常吗?有时候TIM6可能由于计数器溢出没触发中断,需要检查一下TIM6的溢出和更新事件配置。

使用特权

评论回复
19
Bblythe| | 2025-2-5 09:35 | 只看该作者
是否有尝试过在DMA中断处理过程中手动清除DMA的传输完成标志?如果没有清除标志,DMA中断会不停触发。

使用特权

评论回复
20
Pulitzer| | 2025-2-5 09:36 | 只看该作者
你开启了DMA中断,但是是否确保了在中断服务例程中及时处理DMA的数据?可能是由于未处理好DMA传输,导致中断一直触发。

使用特权

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

本版积分规则

2109

主题

7981

帖子

11

粉丝