我在Linux发行版上使用RXTX库而不是USBSerial。rxtx库的行为似乎与它在串行上的工作方式完全不同(以一种糟糕的方式)。
我的应用程序有几个线程,我最大的问题之一是,不知从哪里,我似乎得到了一到两个额外的字节在我的流。我不知道他们从哪里来,也不知道为什么。当我使用另一个线程写入rxtx流时,这个问题似乎发生得更频繁。
所以我想知道是应该在当前rxtx线程上处理读取,还是在获取数据可用事件时在另一个线程上处理读取。
我希望有人有好的或坏的理由这样或那样做。

最佳答案

这只是一个猜测,但它可能会给你一个线索。
发送和接收是否可能共享一个缓冲区,或者在发送时,字节也会以某种方式在输入端接收到——我以前在一些嵌入式系统上见过这种情况。
您可能会发现,最好的做法是最初将发送和接收保持在同一线程上。另一件事可能是在尝试读取之前确保输出耗尽。
希望这能给你一些线索。

09-30 18:49
查看更多