STM32串口DMA的发送,怎么保证写入串口的数据不会被覆盖

2019-10-15 02:21发布

如题
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
cheyj520
2019-10-15 07:49
1253171658 发表于 2017-2-16 08:25
DMA会自己按照串口的速度发送,也就是到时间就去发送一次,怎么会覆盖呢?我一个DMA控制串口1234接收和发 ...

我又看了参考手册串口那部分关于利用DMA发送的介绍,”在每个TXE事件后,将从此存储器区读出数据并传送到USART_DR寄存器“
还有讲DMA那章,“在发生一个事件后,外设向DMA控制器发送一个请求信号。 DMA控制器根据通道的优先权处理请求。当DMA控制器开始访问发出请求的外设时, DMA控制器立即发送给它一个应答信号。当从DMA控制器得到应答信号时,外设立即释放它的请求。一旦外设释放了这个请求, DMA控制器同时撤销应答信号。如果有更多的请求时,外设可以启动下一个周期”
这样应该可以解释的通了

一周热门 更多>