sy12138 发表于 2023-5-11 11:28

USART配合DMA实现不定长度数据接收

#技术资源# #每日话题#

本文档主要介绍 USART 配合 DMA 接收不固定长度数据的实现方法,支持国民技术所有的通用 MCU 以及车规级 MCU。

tpgf 发表于 2023-6-3 17:36

我们一般如何确定不定长数据已经接收完成了呢

nawu 发表于 2023-6-3 18:00

我个人比较喜欢自己定义具体的通讯内容 这样方便判定结束与否

aoyi 发表于 2023-6-5 10:02

我们一般在什么情况下需要启用dma呢?还是说任何情况使用dma都能提高效率呢

zljiu 发表于 2023-6-5 10:41

DMA不通过串口中断接受数据,而是采用普通的串口接受数据的方式接受串口数据,当产生DMA中断时代表传输完成开始对数据进行处理。

gwsan 发表于 2023-6-5 11:28

DMA接受不定长数据,采用DMA+串口空闲中断的方式,达到无论接收什么不定长的数据,管你数据有多少,来一个我就收一个的效果。

tfqi 发表于 2023-6-5 11:49

在重新开启接收DMA通道之前,将Rx_Buf缓冲区里面的数据复制到另外一个数组中,然后马上处理复制出来的数据,然后再开启DMA

rosemoore 发表于 2023-6-6 12:28

通常采用DMA做USART接收固定长度的数据

mmbs 发表于 2023-6-6 12:56

使用串口1配合DMA接收不定长数据,减轻CPU载荷

janewood 发表于 2023-6-6 13:32

通过DMA完成固定数量的不间断数据流。

hilahope 发表于 2023-6-6 13:58

传输完一次数据如何再重新启动

updownq 发表于 2023-6-6 15:17

不固定长度数据接收需要起始符和结尾符

tifmill 发表于 2023-6-6 17:55

需要设置DMA传输的数据长度为可变长度。

zerorobert 发表于 2023-6-6 18:07

如何通过DMA来接收串口数据               

adolphcocker 发表于 2023-6-8 16:31

使用USART配合DMA实现不定长度数据接收,可以有效地减少CPU的占用率,并提高数据传输效率。

everyrobin 发表于 2023-6-8 16:35

在程序中需要开启DMA接收模式,并设置数据传输方向为从USART接收到DMA缓冲区。

hilahope 发表于 2023-6-8 22:38

一次能接收多少位的数据?               

chenjun89 发表于 2023-6-8 23:46

国民技术有车规级MCU了吗?
页: [1]
查看完整版本: USART配合DMA实现不定长度数据接收