STM32 串口DMA的速度可以达到多大呢?

[复制链接]
3226|11
 楼主| 爱潜泳的鱼 发表于 2017-9-29 22:35 | 显示全部楼层 |阅读模式
STM32 串口DMA的速度可以达到多大呢?
花落辞殇 发表于 2017-9-30 09:53 | 显示全部楼层
速度受限于你的波特率,和DMA无关.
jp_chen 发表于 2017-9-30 10:06 | 显示全部楼层
你要明白DMA究竟是什么,什么情况下才用DMA。
nobleliom 发表于 2017-9-30 15:37 | 显示全部楼层
这个还真是有点糊涂,不明白DMA的本质是什么
会飞的大白 发表于 2017-9-30 15:48 | 显示全部楼层
你可以实际测试下,看看设置最大波特率可以达到多少呢
大白农 发表于 2017-9-30 16:22 | 显示全部楼层
DMA的作用就是脱开CPU进行数据传输,只需要给出数据源和目的地,中间的传输过程不需要干预,传输期间CPU可以干其他的工作。
hello牟 发表于 2017-9-30 16:25 | 显示全部楼层
达到几M应该是没有问题的
lt1231 发表于 2017-9-30 17:59 | 显示全部楼层
DMA的本质是提高了效率,不需要CPU的参与,而不是提高了速度
liutongda 发表于 2017-9-30 18:08 | 显示全部楼层
假如要波特率9600的串口传输10M字节的的数据,约1ms传输一字节,10M(10485760)字节的的数据就要约3小时,如果用查询法发送,这3小时内单片机都不能做别的事,即使用中断法也要触发大量中断,而使用DMA只需设置源地址,目的地址,长度,然后启动传输就搞定了,由硬件自动发送,这段时间内单片机仍然能执行其他指令,关键就在于提高了效率.  
myidear 发表于 2017-9-30 18:11 | 显示全部楼层
DMA是完全不需要CPU的参与吗?
enginezhong 发表于 2017-9-30 19:18 | 显示全部楼层
如果仅仅是几个字节的数据传输就不必用DMA了。DMA仅仅是一次性大数据量传输时候才有必要
ahhsyf 发表于 2017-9-30 19:21 | 显示全部楼层
cpu要做的仅仅就是检查是否传输完成。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

64

帖子

0

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