ldj7501 发表于 2015-8-19 09:10:33

多串口数据 同时写队列 可能冲突的 问题

      公司有一个场景应用:一个固定扫描枪 把扫描数据通过串口发给电脑,另一个手动扫描枪把数据也通过串口发给电脑。过去这两个串口不能同时使用。又因为现在的电脑上有4个串口,于是本人设想通过两个串口接收两个扫描枪的数据,然后把数据写入到接收队列中,在队列的另一端,取出数据发送给另一个串口,这个串口用作输出数据。
    那么问题来了。两个输入串口写进程同时 写接收队列和 输出读队列时,是否会冲突?怎么解决。想听听大家的建议,谢谢!

litguy 发表于 2015-8-19 09:31:31

可以数据组成包,包前面加通道编号。更好的方法是,每个串口用不同的接收缓存队列。

ldj7501 发表于 2015-8-19 09:39:20

litguy 发表于 2015-8-19 09:31
可以数据组成包,包前面加通道编号。更好的方法是,每个串口用不同的接收缓存队列。 ...

用两个队列是好方法。但是在每一个队列中,如果同时读写,在简单的数组做的队列中我看可能会出现问题,而在环形队列中不会出现。

ldj7501 发表于 2015-8-19 09:39:51

litguy 发表于 2015-8-19 09:31
可以数据组成包,包前面加通道编号。更好的方法是,每个串口用不同的接收缓存队列。 ...

用两个队列是好方法。但是在每一个队列中,如果同时读写,在简单的数组做的队列中我看可能会出现问题,而在环形队列中不会出现。
页: [1]
查看完整版本: 多串口数据 同时写队列 可能冲突的 问题