HAL_UART_Receive_DMA 函数的具体功能是什么?
本帖最后由 光环 于 2015-12-10 09:59 编辑该函数是DMA方式接收数据,这不用说了,也别说使用其它方法解决!我关心的是这个函数的具体功能,我理解是:将指定串口(第一个参数)发来的数据,按指定的数量(第三个参数)送到指定的缓冲区内(第二个参数);不知理解的对不对,请赐教。
一般来说,串口接收数据,只要初始化好各种参数,使能中断,然后在中断或回调函数中直接处理收到的数据就行了,为什么还要使用 HAL_UART_Receive_DMA 函数来接收数据呢?当然既然HAL_UART_Receive_DMA 函数存在,就肯定有它存在的道理,只是我不理解而已,望赐教。
DMA 方式接收串口数据。。。。。 本帖最后由 光环 于 2015-12-10 09:58 编辑
alles_ok>>0_0<< 发表于 2015-12-10 09:49
DMA 方式接收串口数据。。。。。
感谢,但你的回答我已经知道,我说的是“具体功能”。 仔细对比2个函数的区别,DMA可以不用等,循环判断完成标志位就可以了,普通的需要等待接收完成。 先了解下。。。。:) 光环 发表于 2015-12-10 09:54
感谢,但你的回答我已经知道,我说的是“具体功能”。
具体功能........还要怎么具体他就是DMA 接收功能,执行这函数不需要等待接收完成. DMA的好处就是不占用CPU的资源,所以当串口有大量的数据要处理时,使用串口的DMA功能就有很多优势。 具体功能需要看设计手册 谢谢各位的回答
你好请问你理解了吗能给个实例吗
页:
[1]
2