2013-05-17 67 views
0

我從RS232for loop讀取數據。這沒有什麼好的表現。我想沒有for循環,而不是像事件那樣的事情,當數據接收它的火。這可能嗎?例如,當數據從COM16事件觸發收到時。讀取數據RS232沒有輪詢

+0

如果您不想阻止主線程,您可以每隔100ms左右開啓一次閱讀功能。 – Losiowaty

+1

@Losiowaty *每100ms啓動你的閱讀功能*→這是輪詢... – Jean

+0

你開發哪個平臺?用於windows的 – Jean

回答

2

看起來這個項目是 被添加到已經在Qt 5中的Qt 5.1

http://qt-project.org/wiki/QtSerialPort

http://doc-snapshot.qt-project.org/qt5-stable/qtserialport/qtserialport-index.html

的示例示出了兩個不同的方法來得到信息的串行端口的:

這一個使用一個信號時隙連接:

http://doc-snapshot.qt-project.org/qt5-stable/qtserialport/terminal.html

這個人在循環中使用輪詢:

http://doc-snapshot.qt-project.org/qt5-stable/qtserialport/blockingslave.html

這是一個不同的,但可以做同樣的事情。我以前用過這個,成功了。它在示例中提供了一個信號插槽。

https://code.google.com/p/qextserialport/

希望有所幫助。

+0

QExtSerialPort在我的Qt 4.8上運行良好 – Throwback1986