我正在使用名爲jSSC(java-simple-serial-connector)的庫與外部設備一起編寫Java中的串行端口通信應用程序。關閉並重新打開端口後的串行端口通信
在發送消息並等待其返回後,如果在一定時間(2秒)後沒有讀數,則會有超時中止讀數。如果發生這種情況,端口將關閉並重新打開以進一步進行消息交換。
我注意到,如果由於某種原因超時發生,並且端口被關閉並重新打開,則來自端口的進一步的消息讀取將受到干擾(即,讀取的消息不能被解碼)。看起來來自設備的之前的消息仍然在線,並繼續進入下一個閱讀操作。
我對串口不是很熟悉,所以我不完全確定是否是這種情況。我認爲(但很可能是錯誤的)在我關閉連接後(如在TCP/IP通信中),由另一部分發送的先前消息將被丟棄。
任何人都可以在這個話題上了解關於串行端口在關閉/重新打開後的行爲方式嗎?即使在關閉應用程序中的連接後,其他部分(設備)是否可以繼續發送舊消息?
你可以在這個鏈接回答我的問題http://stackoverflow.com/questions/33561947/close-my-ports-programatically-using-netbeans –