[其他ST产品] TIM2输入捕获,DMA开启中断传输输入捕获数据,TIM6计时

[复制链接]
 楼主| 两只袜子 发表于 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中断处理函数中没有阻塞操作,避免影响其他中断的触发

夜阑风雨 发表于 2024-10-14 04:00 | 显示全部楼层
保证DMA配置正确,特别是数据传输方向和缓冲区大小

三生万物 发表于 2024-10-14 05:00 | 显示全部楼层
打印调试信息:在中断处理函数中添加调试信息打印,观察DMATIM6中断的触发情况。使用printfHAL_UART_Transmit函数打印调试信息

远山寻你 发表于 2024-10-14 06:00 | 显示全部楼层
使用逻辑分析仪监测TIM6DMA的中断信号,观察中断触发情况

暖了夏天蓝了海 发表于 2024-10-14 07:00 | 显示全部楼层
检查时钟配置:确保TIM6的时钟配置正确,时钟频率设置合理

光辉梦境 发表于 2024-10-14 08:00 | 显示全部楼层
这个没啥问题啊,你用cubemx配置一下就可以了

淡漠安然 发表于 2024-10-14 09:00 | 显示全部楼层
是不是你的中断优先级设计错了啊

淡漠安然 发表于 2024-10-14 09:00 | 显示全部楼层
是不是你的中断优先级设计错了啊

江河千里 发表于 2024-10-14 10:00 | 显示全部楼层
我觉得你应该是哪个中断之类的标记没清吧

公羊子丹 发表于 2025-2-5 09:24 | 显示全部楼层
你说的DMA一直中断,可能是DMA的传输完成标志没有清除。可以检查一下DMA的状态寄存器,确保在每次中断处理后清除标志。
周半梅 发表于 2025-2-5 09:26 | 显示全部楼层
可能是TIM2的捕获中断和DMA中断的优先级配置有冲突,导致DMA一直触发。检查一下中断优先级设置,避免优先级过低。
帛灿灿 发表于 2025-2-5 09:28 | 显示全部楼层
DMA中断触发频繁的原因有可能是缓冲区没有被正确更新,或者DMA的数据传输没有被正确管理。你有没有检查过DMA的传输模式设置(例如循环模式或正常模式)?
童雨竹 发表于 2025-2-5 09:29 | 显示全部楼层
TIM6中断只触发一次,可能是TIM6的计时器溢出没有被正确配置,或者TIM6的中断使能没有在正确的位置进行。如果是计时器溢出导致的,建议检查一下计时器的计数值和中断条件。
万图 发表于 2025-2-5 09:31 | 显示全部楼层
我遇到过类似问题,原因是TIM2和DMA的中断处理没有正确嵌套处理。试着检查一下是否在DMA中断处理中重新配置了TIM2,导致它没有继续正常工作。
Wordsworth 发表于 2025-2-5 09:32 | 显示全部楼层
你确认TIM6的计时功能正常吗?有时候TIM6可能由于计数器溢出没触发中断,需要检查一下TIM6的溢出和更新事件配置。
Bblythe 发表于 2025-2-5 09:35 | 显示全部楼层
是否有尝试过在DMA中断处理过程中手动清除DMA的传输完成标志?如果没有清除标志,DMA中断会不停触发。
Pulitzer 发表于 2025-2-5 09:36 | 显示全部楼层
你开启了DMA中断,但是是否确保了在中断服务例程中及时处理DMA的数据?可能是由于未处理好DMA传输,导致中断一直触发。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8117

帖子

11

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

2122

主题

8117

帖子

11

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