求助:STM32F103串口发送缓冲区被覆盖

2019-07-20 23:26发布



STM32F103 串口使用中断型式发送数组数据,现在的数据还没有发送完成,又有新的数据需要发送,如何处理?

如果直接将需要发送的数据写入到发送数组中,就会覆盖掉还没有发送完成的数据;如果等发送完成,再将需要发送的数据写入到发送数组,则将阻塞CPU,求助各位大佬。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
Acuity
1楼-- · 2019-07-21 05:24
用环形缓冲区。或者是方案、产品设计问题,环形缓冲区即是“生产者”和“消费者”模型,如果“生产者”(塞入数据)比“消费者”(发送)还快,只能增大缓冲区。增大缓冲区还是解决不了,就是考虑方案的合理性或者程序的设计是否合理。
环形缓冲区:
https://blog.csdn.net/qq_20553613/article/details/78902689
warship
2楼-- · 2019-07-21 10:06
 精彩回答 2  元偷偷看……

一周热门 更多>