打印
[技术问答]

请教M483的DMA不能自动加载的问题,导致脉冲不能同步,感谢

[复制链接]
1262|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 汽车电子 于 2021-5-22 14:18 编辑

如题,需要使用DMA传输600个数据到PWM比较寄存器。
传输完600个数据后,能自动重传吗? 没找到解决办法,哪位大神做过?分享一下,感谢!
目前是传输完之后中断,在中断里加载数据。用示波器发现还有2个数据未传完就中断了,是不是防止时间滞后的?在中断里提前加载?
理论上可防止滞后,但实际上不行啊,20秒之后,输出脉冲就不同步了,差300uS之多。

使用特权

评论回复
沙发
汽车电子|  楼主 | 2021-5-22 10:41 | 只看该作者
开始脉冲是同步的

使用特权

评论回复
板凳
汽车电子|  楼主 | 2021-5-22 10:42 | 只看该作者
后面不同步了

使用特权

评论回复
地板
汽车电子|  楼主 | 2021-5-22 10:45 | 只看该作者
初始化代码

使用特权

评论回复
5
汽车电子|  楼主 | 2021-5-22 10:55 | 只看该作者
DMA中断函数

使用特权

评论回复
6
汽车电子|  楼主 | 2021-5-22 11:15 | 只看该作者
现在也不确定是否是因为需要程序加载而产生的滞后,理论上不会,因为提前中断重载的。为什么几个通道同步功能不起作用呢?



使用特权

评论回复
7
jasontu| | 2021-5-24 10:45 | 只看该作者
请用PDMA scatter mode. 中断後软体加载会花一些时间。
PDMA scatter mode. 是用硬件存取的方式

使用特权

评论回复
8
杨寅辉| | 2021-5-24 11:10 | 只看该作者
理论上都加载完毕才会中断的呀,为什么没加载进去呢?

使用特权

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

本版积分规则

个人签名:车联网

366

主题

2057

帖子

5

粉丝