我正在嘗試將數據寫入串行端口。我用這樣的方式:無法將數據寫入串行端口
QBluetoothSocket *socket;
socket = new QBluetoothSocket(QBluetoothServiceInfo::RfcommProtocol);
socket->open(QIODevice::WriteOnly);
QByteArray byteArr;
QDataStream out(&byteArr, QIODevice::WriteOnly);
out << 1 << '\n'; //if plusbutton is pushedm then send zero
socket.write(byteArr);
qDebug()<<socket.write(byteArr)<<endl;
但我得到的回報:
W/libA_for_w8.so(6443):(空):0((空)):qt.bluetooth.android: 插座::寫數據:QBluetoothSocket :: ConnectingState假
W/libA_for_w8.so(6443):(空):0((空)):qt.bluetooth.android: 插座::寫數據:QBluetoothSocket :: ConnectingState假(6443):.. \ A_for_w8 \ widget.cpp:68(void Widget :: on_p lus_clicked()):-1
d/libA_for_w8.so(6443):
所以,沒有數據被寫入到那裏。 看來,代碼是好的,但它不起作用。 你能告訴我什麼是錯的嗎? 謝謝。
P.S.
我檢查套接字是否打開。 (null):0((null)):qt.bluetooth.android:Socket :: writeData:QBluetoothSocket :: UnconnectedState false
d/libA_for_w8.so(9638):.. \ A_for_w8 \ widget.cpp:70(無效的Widget :: on_plus_clicked()):-1
_「看來,代碼是好的,但它不起作用。」_呃? –
您沒有單行代碼來檢查possibe運行時錯誤或類似情況。 –
嗯,我沒有說,代碼是100%正確的,但我個人並沒有在這裏看到錯誤,讓我們這樣說吧。 「你沒有單行代碼來檢查possibe運行時錯誤或類似」 - 如何做? – John