请教大家怎样实现这样的功能
上位机usb口接收到设备发来的数据,现在想在接收数据的同时,将数据实时的通过上位机串口进行转发,请教具体实现的思路
[解决办法]
实现数据缓存队列,
一个线程从USB接收数据保存到队列,
一个线程从队列提取数据发往串口。
数据是即时的话,使用内存即可。
数据需要都保存的话,那就得把缓存放到磁盘上。
[解决办法]
你能保证处理速度 大于 设备发送数据 的速度,也可以不用队列。
或者允许部分数据的丢失。
队列这个词在这里表示数据元素的完整性与顺序性。
[解决办法]
您自己不说的很明白了吗?就是转发一下。
[解决办法]
这玩意儿全靠经验,具体硬件、具体环境、具体问题具体分析。
你可以设计成可配置的。
不过看你要转发到串口,估计实际上不会有多大的数据流量。。
不然这需求简直是……
[解决办法]
一个队列就够吧。两个线程访问加上数据保护。
[解决办法]
fly4free
(自由的飞!!)
说的很明白了。
[解决办法]
队列更合理一些吧
USB的来到数据只管入队
串口转的时候只管出队
[解决办法]
考虑到接收数据可能要比发送数据的速度快,首先要看你接收的数据是啥格式的,是一段段的规则的,还是乱的,反正自己定义,将接收到的数据放入队列,然后可以用timer监视这个队列,如果有数据,则直接发送,也可以用线程,至于采用什么队列,像这种采用vector就挺快的,反正都是队列首尾操作。
[解决办法]