我有使用javax.comm从COM端口读取数据的应用程序。

我遇到的问题是,如果我是从阅读器是意外断开我在控制台中的错误,说“WaitCommEvent:错误5”

我环顾四周,找不到这方面有任何有用的信息。我设置了所有notifyOn *方法,真正让我觉得我应该接受所有的事件,但我不会赶上这一个。

这被打印出来并非来自在我的代码任何地方,所以它必须在javax.comm包某处的错误消息。谁能告诉我如何处理这个错误,这样我可以正常关闭的COM端口时,会发生呢?

谢谢!

有帮助吗?

解决方案

如果有人有兴趣在此,我发现了一个解决方案。我用的是javax.comm API,但要解决我与RXTX API取代它的问题( http://rxtx.qbang.org/wiki/index.php/Main_Page )。物不需要代码改变,但现在当该装置断开时我接收一个IOException与消息“基本输入流返回零个字节”。我处理这个消息,并启动新的线程。在新线程我叫port.close()和port.removeEventListener()。这两个呼叫必须在一个新的线程来完成,否则申请将挂起。

其他提示

我们已经使用了大量的时间在得到javax.comm上班,发现在我们的情况下,它是这是产生这些问题的COM驱动程序(在几个Windows 7的计算机)。 如果司机也是你的问题,你正在使用Windows 7或Vista的可能(和您使用的是多产/ Logilink系列动力电缆),那么这可能是解决:) http://www.akosta.dk/category/technical-notes/

希望你得到它的工作!

此问题是近2岁,但也许另一人们需要一种可能的解决方案:

我有同样的问题与java.comm: “WaitCommEvent:错误5” 此消息出现多次,如果COM端口断开, 但对象的SerialPort未关闭。

我的解决办法是关闭的SerialPort对象如果的SerialPort的IO流的读/写倒掉异常。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top