串口发送DMA状态标志位

2024-09-03 04:58:33
英语学习知识与方法
英语学习知识与方法认证

英语学习知识与方法为您分享以下优质知识

判断数据数据接收完成:

1.关闭串口接收DMA通道,2点原因:

1. 防止后面又有数据接收到,产生干扰。

2. 便于DMA的重新配置赋值,下面第4点。

2.清除DMA所有标志位

3.从DMA寄存器中获取接收到的数据字节数

4.重新设置DMA下次要接收的数据字节数,注意,这里是给DMA寄存器重新设置接收的计数值,这个数量只能大于或者等于可能接收的字节数,否则当DMA接收计数器递减到0的时候,又会重载这个计数值,重新循环递减计数,所以接收缓冲区的数据则会被覆盖丢失。

5.开启DMA通道,等待下一次的数据接收,注意,对DMA的相关寄存器配置写入,如第4条的写入计数值,必须要在关闭DMA的条件进行,否则操作无效。