21ic电子技术开发论坛
标题:
1系列的MCU怎样可以做到DMA UART发送任意长度的目的?
[打印本页]
作者:
pengf
时间:
2022-12-4 16:07
标题:
1系列的MCU怎样可以做到DMA UART发送任意长度的目的?
UART DMA收发数据位问题。在网上可以找到许多通过UART接收空闲中断的方式达到接收任意长度的目的,但是DMA UART,发送任意长度的例程找不到。F1系列的MCU怎样可以做到DMA UART发送任意长度的目的?
作者:
pengf
时间:
2022-12-4 16:10
找到一个F4系列的例程可以做到发送任意长度的目的。F1的就不行吗?
作者:
juventus9554
时间:
2022-12-4 16:11
DMA发送并不是任意长度,记不太清上限是1K还是多少K来着,看下翻翻数据手册就行了,寄存器操作也很简单的。如果用STM32 Cube就更简单了。
作者:
pengf
时间:
2022-12-4 16:13
UART DMA效率问题。如果传送的数据量不是很大,用DMA 的方式有优势吗?
作者:
pengf
时间:
2022-12-4 16:15
比如50mS 收发一次,一次收发大约10多个字节。
作者:
bqyj
时间:
2022-12-4 16:17
DMA跟CPU一样本质上属于host,只不过一个在软件行为上执行动作,另一个在硬件行为上执行动作。DMA的本质优势不在于快,本质优势是解放CPU,这样CPU有更多是时间去做别的。
作者:
huangchui
时间:
2022-12-4 16:23
uart的速度对于单片机来说是比较低的,如果不用DMA发送,发送一个数据帧时需要阻塞查询字节是否发送完成,在波特率较低时会浪费很多时间。
作者:
jlyuan
时间:
2022-12-4 16:26
不是非常特殊的应用,还是中断里从队列取一个字节放到发送寄存器这种方式最好
作者:
shimx
时间:
2022-12-4 16:28
收发都可以用DMA,并且用起来很爽。
作者:
pengf
时间:
2022-12-4 16:30
这样看来 UART DMA 对于提高CPU效率来说是很有用的.
作者:
pengf
时间:
2022-12-4 16:32
谢谢大家,已经做到了。
可以用UART DMA 接收和发送任意长度的数据了。
作者:
heweibig
时间:
2022-12-4 16:35
DMA在高速数据通讯和变换中是非常必要的,但对于UART这种低速且小数据,DMA没有任何优势,很是**肋
作者:
zhanghqi
时间:
2022-12-4 16:37
因为如果接收能搞明白,那发送就不存在问题,
作者:
MessageRing
时间:
2022-12-6 14:17
dma就是用来减少cpu占用的
作者:
Stahan
时间:
2022-12-6 15:03
DMA在高速数据通讯和变换中是非常必要
作者:
sonicll
时间:
2022-12-6 15:11
发送长度就是DMA的传输数量啊,自己配置就可以了
作者:
Henryko
时间:
2022-12-6 15:48
dma优势优是解放CPU
作者:
Bowclad
时间:
2022-12-6 18:17
dma的传输数量可以自己设置啊
作者:
Undshing
时间:
2022-12-6 19:30
dma是为了减少cpu负担的
作者:
AloneKaven
时间:
2022-12-6 20:05
收发都可以用DMA
作者:
MessageRing
时间:
2022-12-7 18:47
传输数量可以自己设置
作者:
MessageRing
时间:
2022-12-8 18:53
DMA的上限好像只有几k
欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/)