多种通讯数据缓冲问题,大神求助,原子哥有空来看看。

2019-08-18 19:53发布

现在做一个项目,带ucos,涉及到多种通讯,和多个设备通讯的问题。
这个设备需要用到can,rs232,rs485
那么问题来了,系统中如何建立缓冲区保证各个通讯的数据都能完整不露的接收,待系统闲的时候再去处理?
或者说大神们是如何避免数据丢失呢?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
xuande
1楼-- · 2019-08-18 21:45

要根据进水口(接收)的速度、出水口(处理)的速度,来确定池子(缓冲区)的大小。

can总线速度高,池子要大一点,
串口的速度很慢,池子就小一些。

没有固定的大小,先确定个大小,自己摸索下,不行再改。

aseeman
2楼-- · 2019-08-18 23:31
论坛有点冷清啊,,没人指点吗
aseeman
3楼-- · 2019-08-19 04:13
xuande 发表于 2016-8-25 21:41
要根据进水口(接收)的速度、出水口(处理)的速度,来确定池子(缓冲区)的大小。

can总线速度高, ...

这个池子该如何建立呢,循环队列?还是用ucos自带的消息队列
xuande
4楼-- · 2019-08-19 07:23
aseeman 发表于 2017-5-22 19:09
这个池子该如何建立呢,循环队列?还是用ucos自带的消息队列


我一般用数组,循环存储。

一周热门 更多>