[开发板与模块] 【HT32F52352 Starter Kit测评】USART使用DMA接收不定长度数据详解

[复制链接]
beacherblack 发表于 2023-2-7 20:15 | 显示全部楼层
dma可以实现ringbuff吗?
hilahope 发表于 2023-2-7 21:11 | 显示全部楼层
这个串口最大的波特率是多少?              
 楼主| 6552918 发表于 2023-2-7 21:37 | 显示全部楼层
hilahope 发表于 2023-2-7 21:11
这个串口最大的波特率是多少?

我用的是115200,再高就没试过了。
qiufengsd 发表于 2023-2-7 21:55 | 显示全部楼层
串口dma怎么接受数据?              
 楼主| 6552918 发表于 2023-2-8 09:17 | 显示全部楼层
qiufengsd 发表于 2023-2-7 21:55
串口dma怎么接受数据?

配置接收的DMA就行,再开启相应的中断,你可以先看看源码
51xlf 发表于 2023-2-8 12:08 | 显示全部楼层
单片机的可利用行太低了吧。              
 楼主| 6552918 发表于 2023-2-8 13:55 | 显示全部楼层
51xlf 发表于 2023-2-8 12:08
单片机的可利用行太低了吧。

DMA能解放CPU,提高效率
lihuami 发表于 2023-3-2 10:57 | 显示全部楼层
通常采用DMA做USART接收固定长度的数据,或通过DMA完成固定数量的不间断数据流。不固定长度数据接收需要起始符和结尾符
 楼主| 6552918 发表于 2023-3-2 11:16 | 显示全部楼层
lihuami 发表于 2023-3-2 10:57
通常采用DMA做USART接收固定长度的数据,或通过DMA完成固定数量的不间断数据流。不固定长度数据接收需要起 ...

主要是为了在大数据量传输时不丢数据,减轻CPU负担,和起始符结束符关系不大
minzisc 发表于 2023-3-2 16:08 | 显示全部楼层
用DMA 中断方式发送,为什么发送完一帧数据后就死机
 楼主| 6552918 发表于 2023-3-2 16:16 | 显示全部楼层
minzisc 发表于 2023-3-2 16:08
用DMA 中断方式发送,为什么发送完一帧数据后就死机

发送完,再次发送前要重新配置DMA传输次数
geraldbetty 发表于 2023-3-3 20:48 | 显示全部楼层
每次发送数据都要用DMA_Cmd使能一次DMA。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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