使用usbserial通过RxTx写入数据?

时间:2020-03-05 18:59:15  来源:igfitidea点击:

我在Linux发行版的usbserial上使用RxTx库。 RxTx库的行为似乎与串行工作方式大不相同(以一种不好的方式)。

我最大的问题之一是RxTx SerialPortEvent.OUTPUT_BUFFER_EMPTY在usbserial上的Linux上不起作用。

我怎么知道什么时候应该写信息流?我可能错过了任何指标吗?

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

提前致谢

解决方案

回答

在USB到串行上使用RxTx时,我们不能将notifyOnOutput设置为true,否则它将完全锁定。

我已经很难学到了。在Internet上的一些网站上记录了此问题。

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

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

谢谢,

回答

(也许有点题外话,但这是可行的)

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

不想认可某个特定的产品或者品牌,我多年来遇到的最好的USB串行转换器是USA-19HS。