双缓冲顾名思义
1.一个数据处理区
2.拥有两个缓冲区
hal库配置串口双缓存和标准库有些许不同
hal库自带一个双缓冲算法,但是有个缺点,每次DMA搬运数据必须传输完指定字节的一半或者全满。
而我自己写的串口空闲中断加双缓冲完美解决这一点,但有一个缺点,单次接收最多500个字节,不过可以做算法的改进。
下面我说一些关于hal库的DMA配置问题
在更改DMA搬运的目标地址之前必须关闭DMA,否者修改失效。
如果有需要源码的可以评论,我后续会重新写个完善的放出来。
双缓冲顾名思义
1.一个数据处理区
2.拥有两个缓冲区
hal库配置串口双缓存和标准库有些许不同
hal库自带一个双缓冲算法,但是有个缺点,每次DMA搬运数据必须传输完指定字节的一半或者全满。
而我自己写的串口空闲中断加双缓冲完美解决这一点,但有一个缺点,单次接收最多500个字节,不过可以做算法的改进。
下面我说一些关于hal库的DMA配置问题
在更改DMA搬运的目标地址之前必须关闭DMA,否者修改失效。
如果有需要源码的可以评论,我后续会重新写个完善的放出来。