問題タブ [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.
c++ - QSerialPortInfo は、私が持っているよりも多くの COM ポートを返します
すべての COM ポートのリストを取得し、次のコードを使用してそれらの名前を QComboBox に追加します。
私は COM3 しか持っていませんが、availablePorts()
関数は次のような 2 つのメンバーを返します。
コードの何が問題になっていますか?
注:コンパイラとして「MSVC2012 OpenGL 32bit」を使用しています。
qt - シリアルポートからガベージデータを受信
マシンからマシンへのデータ転送にシリアル ポート クラスを使用しています。ポートを開く前に、次の設定を定義します。
私の問題は、シリアルポートのガベージデータから取得したアプリを実行すると、同じポートで ExtraPutty ツール ( http://www.extraputty.com/download.php )を開くと問題が修正されることがあることです。正しいデータを取得し、その後アプリケーションを開くとすべて問題なく、通常のデータを受け取ります。おそらく、ExtraPutty は、私が見逃したいくつかの設定を定義し、アプリケーションからポートを開いたときに設定が保持されます。問題が何であるかを理解するのを手伝ってくれる人はいますか?
c++ - ポートからの読み取り中に qserialport データが欠落しているが、使用可能な 9 バイトが返される
qextserialport
クラスのデータ損失が発生する関数 readdata を使用してポートから読み取り中に
たとえば、serialobj->bytesavailable
9 バイトを返しますがserialobj->readData
、pic マイクロコントローラーからは 2 文字のみを返します。
qt - Qt serial.readall が 5.3.1 で動作しない
serial.readall
5.3.1 では空のバッファを返していますが、5.3.0 では同じコードが機能しています。誰かが同じ問題に直面しましたか?これに対する回避策はありますか?
Qt を MSVC 2010 Windows 7 で使用しています。Qt ダウンロード ページから「Windows 32 ビット用 Qt 5.3.1 (VS 2010、OpenGL、537 MB)」をダウンロードしました。
私のコード:
serial.readAll は空のバッファを返します。別のツールから同じ入力を送信すると、同じ HW から応答が返ってきます。
c++ - Qt - ubuntu のシリアルポート名
Ubuntu でシリアル ポート名を見つけるのに問題があります。ご存知のように、Windows でシリアル ポートを読み取るには、たとえば次のコードを使用できます。
しかし、Ubuntu でこのコードをコンパイルすると、このコードを使用できません。
シリアル ポート名が ttyACM0 であることはわかっており、次のコマンドを発行してデータを読み取ることができます。
しかし、なぜこの名前をコードで使用できないのでしょうか? 私は何をすべきか?
c++ - QtSerialPort をビルドすると、デバッグ DLL のみが作成されます
ここの Visual Studio 2010 の手順に従っていると問題が発生します: http://qt-project.org/wiki/QtSerialPort
VS2010 で qmake & nmake を使用した後、デバッグ バージョンのみがビルドされることがわかりました。リリース フォルダーが作成されますが、QtSerialPort.prl のみが含まれます。
コードを変更して qwineventnotifier_p.h にドロップする必要がありました。最初にビルドしようとしたときにこれが見つからなかったからです。ただし、これに関連しているとは思いません。
デバッグ バージョンは、VS2010 の QT で正常に動作しています。リリース バージョンをアップする方法について何か考えはありますか?
c++ - Qt シリアル ポート: データの書き込みと読み取り
シリアル ポートに接続できますが、常にそこからデータを読み取る必要があります。
約 39 分間動作しますが、その後 line で停止しますserial.flush()
。
Qt を停止して再度起動すると、 で停止しserial.flush()
ます。モデムを再び機能させるには、モデムを再起動する必要があります...
私はこれを適切に実行しているかどうかわかりません...
//編集
削除flush
しても機能しますが、コードは非常に高速です。WaitFor...
2回目のループの後、データを読み取る時間がありません 。
serial.isOpen() && serial.isWritable()
true
常にwhile ループ を送信します。
flush
番組は30分でストップ!
ubuntu - Travis-CI で実行可能ファイルを実行できない - 何が間違っているのかわからない
Travis-CI で QT5 専用アプリをビルドする方法を見つけようとしています。
私はQt5でなければならず、QSerialPortモジュールを含める必要があるため、ストックUbuntuバージョンは利用できません(QSerialPortがありません)。Qt 5.x を 12.04 Ubuntu VM にインストールし、ファイルを別のリポジトリに配置したものに tar しましたが、Qt5 実行可能ファイル (qmake + ソースなど) をダウンロードして抽出すると、それらを実行できません。 qmake は $PATH にあります。
コードはすべてhttps://github.com/npotts/QuteSerialに投稿されています。
.travis.yml
ビルド エラー: https://travis-ci.org/npotts/QuteSerial/builds/38996355
c++ - QtでreadyRead()はどのように機能しますか?
このウェブサイトでの最初の質問です。
COM ポートからデータを読み取るのに問題があり、別の COM ポートから完全なメッセージを送信します。Qt で受信すると、常に複数のサブメッセージに分割されます。
送信されるメッセージの長さは 25 または 27 バイトですが、Putty またはハイパーターミナルを使用してそれらを読み取る場合、問題はありません。また、2 つのエミュレートされたシリアル ポート COM を使用して通信する場合、この問題は発生しません... Qt 読み取りシステムと 2 つの物理 COM ポートでのみ発生します...
readyRead シグナルが正確に発行されたときに取得できないと思います...
私は非常に混乱しています, 助けてくれてありがとう!