2

ここで、私が予期していなかったことがあります。シリアル ポート経由で値を送信する小さなアプリを作成する必要がありますが、値は 127 を超えています。ここで Qt のドキュメントを見ると: http://qt-project.org/doc/qt-5.1/qtserialport/qserialport.html - 明らかな何かが欠けていない限り、QSerialPort::write() メソッドは 127 (10 進数) を超えるものをサポートしていないようです。

たとえば、たまたま 0xFF (10 進数の 255) を送信する必要がある場合、メソッドが「署名付き」文字のみをサポートしているように見える場合にこれを送信するにはどうすればよいでしょうか (何か不足していない限り)。「int」または 10 進数で 255 までの unsigned char を受け入れる write() メソッドのバージョンを探していました。

virtual qint64  writeData(const char * data, qint64 maxSize)

「unsigned char *」も「int」もありません。それぞれが 127 (dec) を超える 5 つの値の配列を送信するにはどうすればよいでしょうか。

4

2 に答える 2

1

データをそのまま送信し、署名付きか署名なしかは相手の解釈の問題です。-1 符号付きバイトは 0xff であり、符号なし 255 と同じです。

于 2013-10-22T11:23:40.387 に答える