英语学习知识与方法为您分享以下优质知识
判断数据数据接收完成:
1.关闭串口接收DMA通道,2点原因:
1. 防止后面又有数据接收到,产生干扰。
2. 便于DMA的重新配置赋值,下面第4点。
2.清除DMA所有标志位
3.从DMA寄存器中获取接收到的数据字节数
4.重新设置DMA下次要接收的数据字节数,注意,这里是给DMA寄存器重新设置接收的计数值,这个数量只能大于或者等于可能接收的字节数,否则当DMA接收计数器递减到0的时候,又会重载这个计数值,重新循环递减计数,所以接收缓冲区的数据则会被覆盖丢失。
5.开启DMA通道,等待下一次的数据接收,注意,对DMA的相关寄存器配置写入,如第4条的写入计数值,必须要在关闭DMA的条件进行,否则操作无效。