光环 发表于 2015-12-10 09:43:23

HAL_UART_Receive_DMA 函数的具体功能是什么?

本帖最后由 光环 于 2015-12-10 09:59 编辑

该函数是DMA方式接收数据,这不用说了,也别说使用其它方法解决!我关心的是这个函数的具体功能,我理解是:将指定串口(第一个参数)发来的数据,按指定的数量(第三个参数)送到指定的缓冲区内(第二个参数);不知理解的对不对,请赐教。

一般来说,串口接收数据,只要初始化好各种参数,使能中断,然后在中断或回调函数中直接处理收到的数据就行了,为什么还要使用 HAL_UART_Receive_DMA 函数来接收数据呢?当然既然HAL_UART_Receive_DMA 函数存在,就肯定有它存在的道理,只是我不理解而已,望赐教。

alles_ok>>0_0<< 发表于 2015-12-10 09:49:45

DMA 方式接收串口数据。。。。。

光环 发表于 2015-12-10 09:54:27

本帖最后由 光环 于 2015-12-10 09:58 编辑

alles_ok>>0_0<< 发表于 2015-12-10 09:49
DMA 方式接收串口数据。。。。。
感谢,但你的回答我已经知道,我说的是“具体功能”。

发表于 2015-12-10 10:56:13

仔细对比2个函数的区别,DMA可以不用等,循环判断完成标志位就可以了,普通的需要等待接收完成。

超級稻草人 发表于 2015-12-10 14:50:59

先了解下。。。。:)

mark0668 发表于 2015-12-10 15:28:51

光环 发表于 2015-12-10 09:54
感谢,但你的回答我已经知道,我说的是“具体功能”。

具体功能........还要怎么具体他就是DMA 接收功能,执行这函数不需要等待接收完成.

disheng4688 发表于 2015-12-10 18:58:00

DMA的好处就是不占用CPU的资源,所以当串口有大量的数据要处理时,使用串口的DMA功能就有很多优势。

suoma 发表于 2015-12-10 22:27:46

具体功能需要看设计手册

光环 发表于 2015-12-11 10:00:51

谢谢各位的回答

流畅的笔记 发表于 2016-9-3 14:38:58

你好请问你理解了吗能给个实例吗
页: [1] 2
查看完整版本: HAL_UART_Receive_DMA 函数的具体功能是什么?