問題タブ [qtserialport]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1022 参照

c++ - Qt - 空のエントリを持つバイト配列?

私は、comport に送信された情報を使用して Qt で int を返すことができる単純な関数に取り組んでいます。

QBytearray を返す QSerialPort クラスを使用しています

問題は、(ときどき) QSerialPort.readAll が返す配列に空のエントリを取得するように見えることです。これにより、bytearray を int に変換できなくなります。

基本的な機能は次のとおりです。温度または湿度のいずれかを送信するように Arduino に要求します。

Qt コード:

Arduino のコードはとてもシンプルです。

端末モニターには次のように表示されます。

ここに画像の説明を入力

0 投票する
1 に答える
1993 参照

c++ - Qt C++ 5.8.0 での QByteArray から Double へ

シリアル comport データの読み書きプログラムがあります。データはコンポート 4 (例: 1022) から読み取られていますが、データ 1022/2 の数学的計算を実行しようとすると、0.5 5.0 51.00 511.01022 全体を単一の数値として取得しないことを意味する出力が得られます。数学的計算。最初に 1 を取り、次に 1/2=0.5 を割り、次に 0 桁を受信したら、10/2=5 として取ります。しかし、1022 を 1 桁の数字にしたい (例: 1022/2=511)

計算のために QByteArray を Double に変換しようとしました。

出力