STM32/STM8技术william hill官网
直播中

陈静

7年用户 1284经验值
私信 关注
[问答]

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



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

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

回帖(14)

王秀云

2018-12-4 08:59:37
DMA 方式接收串口数据。。。。。
举报

陈静

2018-12-4 09:10:28
引用: 一根玉米须 发表于 2018-12-4 08:17
DMA 方式接收串口数据。。。。。

感谢,但你的回答我已经知道,我说的是“具体功能”。
举报

孙婷婷

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

吴萍

2018-12-4 09:22:07
先了解下。。。。
举报

华农武

2018-12-4 09:32:09
引用: kingnet_520890 发表于 2018-12-4 08:28
感谢,但你的回答我已经知道,我说的是“具体功能”。

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

邹先莹

2018-12-4 09:48:54
DMA的好处就是不占用CPU的资源,所以当串口有大量的数据要处理时,使用串口的DMA功能就有很多优势。
举报

刘海欢

2018-12-4 09:58:38
具体功能需要看设计手册
举报

陈静

2018-12-4 10:14:57
谢谢各位的回答
举报

蔡表胤

2018-12-4 10:33:10
你好  请问你理解了吗  能给个实例吗
举报

杜茂仁

2018-12-4 10:45:57
听大神讲讲
举报

张桂芝

2018-12-4 11:03:17
仔细对比2个函数的区别,DMA可以不用等,循环判断完成标志位就可以了,普通的需要等待接收完成
举报

张桂芝

2018-12-4 11:11:30
DMA的好处就是不占用CPU的资源,所以当串口有大量的数据要处理时,使用串口的DMA功能就有很多优势
举报

阿瑟

2018-12-4 11:25:30
默默学习学习。。。
举报

李玉英

2018-12-4 11:29:09
能看一下代码吗?一直有问题
举报

更多回帖

发帖
×
20
完善资料,
赚取积分