1

我在 Linux 发行版上通过 usbserial 使用 RxTx 库。RxTx 库的行为似乎与它在串行上的工作方式完全不同(以一种糟糕的方式)。

我最大的问题之一是RxTx SerialPortEvent.OUTPUT_BUFFER_EMPTY无法通过 USB 串行在 linux 上运行。

我怎么知道什么时候应该写入流?我可能错过的任何指标?

到目前为止,我同时写作和阅读的经验并不是很好。有谁知道我是否应该DATA_AVAILABLE在我写流时锁定处理程序不被调用?或者RxTx接受并发读/写?

4

2 回答 2

4

(也许有点题外话,但这里有)

我不熟悉那个特定的库,但我可以从可怕的经验中向您保证(我在安全系统(如:硬件安全设备)业务中工作,RS-232 被大量使用)并非所有 USB 串行转换器生而平等。许多此类设备无法正确模拟所有 RS-232 线路,而且许多设备在没有流量控制的情况下甚至无法处理任何通信。在责备图书馆之前,请尝试确认硬件确实做了它应该做的事情。

不想认可特定的产品或品牌,我多年来遇到的最好的(如:最少的错误)USB 串行转换器是USA-19HS

于 2008-10-09T19:58:08.623 回答
1

使用 RxTx over usb-to-serial 您不能将 notifyOnOutput 设置为 true ,否则它会完全锁定。

我已经学会了这个艰难的方式。此问题记录在 Internet 上的一些网站上。

我在 Linux 上运行它,我相信这只是 Linux 的问题,尽管我无法确认。

至于你给我的链接......我看过 SimpleReader 和 SimpleWriter 示例,但这些并不代表真实世界的应用程序。它不是多线程的,假设读取具有所需的完整数据,而不是缓冲读取等。

谢谢,

杰奇!

于 2008-09-22T14:00:54.590 回答