完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如题,需要使用DMA传输600个数据到PWM比较寄存器。
传输完600个数据后,能自动重传吗? 没找到解决办法,哪位大神做过?分享一下,感谢! 目前是传输完之后中断,在中断里加载数据。用示波器发现还有2个数据未传完就中断了,是不是防止时间滞后的?在中断里提前加载? |
|
相关推荐
1个回答
|
|
首先,要使DMA自动加载,需要正确配置传输控制寄存器和DMA通道配置寄存器。您可以参考相关的参考手册查看如何配置这些寄存器。
其次,如果您希望在传输完600个数据后自动重传,您可以使用循环模式或者双缓冲模式。循环模式会在传输完所有数据后自动重头开始传输,而双缓冲模式则会在传输完一个缓冲区后自动切换到另一个缓冲区,从而实现无限传输。 最后,由于您发现还有2个数据未传完就中断了,可能是因为您的中断处理函数没有及时重置DMA通道状态和传输地址,导致DMA在下一次传输时读取到了错误的地址。您可以在中断处理函数中添加适当的代码来重置DMA通道状态和传输地址,以确保下一次传输的正确性。 |
|
|
|
只有小组成员才能发言,加入小组>>
722 浏览 0 评论
1123 浏览 1 评论
2505 浏览 5 评论
2840 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2685 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
664浏览 9评论
679浏览 7评论
682浏览 5评论
666浏览 5评论
imx6dl芯片与imx6q芯片互换启动无反应请问是什么问题呢
287浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 23:10 , Processed in 1.079305 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号