2011-11-14 19 views
-1

我在庫中使用串行端口類,並在統一項目中使用庫來與其他使用串行通信的設備進行通信。你怎麼知道什麼時候沒有使用串行數據接收事件接收數據?串行端口

這一切工作正常,當我在任何應用程序除了統一使用DLL。但出於某種原因統一不會調用SerialDataReceived事件,我的猜測是單聲道開發不支持該事件。

我測試了我的串行連接正在接收數據,因爲。我可以從端口讀取數據。問題是我不知道什麼時候開始閱讀,結果是我總是遲早會得到TimeOut的豁免。

那麼除了SerialDataReceived事件以外,還有一種方法可以知道我的端口已經收到數據。

+0

如果您不喜歡超時異常,那麼只需將ReadTimeout屬性設置爲-1即可。 –

回答

0

定期檢查SerialPort.BytesToRead屬性。

+0

我已經這樣做了,但問題是我調用SerialPort.BytesToRead後統一不執行代碼。我不知道爲什麼它卡在這裏。 – user1045307

+0

@ user1045307 - 你可以編輯OP並向我們展示一些代碼... – dbasnett