打印

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

[复制链接]
2320|11
手机看帖
扫描二维码
随时随地手机跟帖
沙发
花落辞殇| | 2017-9-30 09:53 | 只看该作者
速度受限于你的波特率,和DMA无关.

使用特权

评论回复
板凳
jp_chen| | 2017-9-30 10:06 | 只看该作者
你要明白DMA究竟是什么,什么情况下才用DMA。

使用特权

评论回复
地板
nobleliom| | 2017-9-30 15:37 | 只看该作者
这个还真是有点糊涂,不明白DMA的本质是什么

使用特权

评论回复
5
会飞的大白| | 2017-9-30 15:48 | 只看该作者
你可以实际测试下,看看设置最大波特率可以达到多少呢

使用特权

评论回复
6
大白农| | 2017-9-30 16:22 | 只看该作者
DMA的作用就是脱开CPU进行数据传输,只需要给出数据源和目的地,中间的传输过程不需要干预,传输期间CPU可以干其他的工作。

使用特权

评论回复
7
hello牟| | 2017-9-30 16:25 | 只看该作者
达到几M应该是没有问题的

使用特权

评论回复
8
lt1231| | 2017-9-30 17:59 | 只看该作者
DMA的本质是提高了效率,不需要CPU的参与,而不是提高了速度

使用特权

评论回复
9
liutongda| | 2017-9-30 18:08 | 只看该作者
假如要波特率9600的串口传输10M字节的的数据,约1ms传输一字节,10M(10485760)字节的的数据就要约3小时,如果用查询法发送,这3小时内单片机都不能做别的事,即使用中断法也要触发大量中断,而使用DMA只需设置源地址,目的地址,长度,然后启动传输就搞定了,由硬件自动发送,这段时间内单片机仍然能执行其他指令,关键就在于提高了效率.  

使用特权

评论回复
10
myidear| | 2017-9-30 18:11 | 只看该作者
DMA是完全不需要CPU的参与吗?

使用特权

评论回复
11
enginezhong| | 2017-9-30 19:18 | 只看该作者
如果仅仅是几个字节的数据传输就不必用DMA了。DMA仅仅是一次性大数据量传输时候才有必要

使用特权

评论回复
12
ahhsyf| | 2017-9-30 19:21 | 只看该作者
cpu要做的仅仅就是检查是否传输完成。

使用特权

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

本版积分规则

5

主题

64

帖子

0

粉丝