問題タブ [qextserialport]

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 投票する
1 に答える
2817 参照

serial-port - QextSerialPort 読み取りの問題

readyRead() の奇妙な動作に直面しています。シリアル通信に QextSerialPort を使用し、readyRead() を読み取りスロットに接続します。たとえば、ポートに 45 バイトを書き込み、45 バイトを読み取ることを期待していますが、readyRead() シグナルが 2 回以上送信され、最初に 38 バイトが読み取られ、次に 7 バイトが読み取られます。データのチャンク全体を読み取るにはどうすればよいですか?

私の問題をうまく説明できたと思います。助けてください!

注: メッセージに STANAG プロトコルを使用しています。

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

qt - MainWindow を閉じた後も Qt アプリがメモリに残る

問題は次のとおりです。アクティブに何もしていないときにアプリケーションを閉じると、正しく終了します。ただし、アクティブに何かに取り組んでいる場合 (たとえば、while ループで待機している場合)、メイン ウィンドウは閉じますが、タスク マネージャーを開いて確認すると、プログラムはバックグラウンドで実行され続けます。

今日の大部分を問題のグーグル検索と可能な修正の実装に費やしましたが、役に立ちませんでした。quit() 関数は単に何もしないようです。ここに私が試したいくつかのことがあります:

  • を使用してapp.connect( &app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()));います。&app, SLOT(quit())に変更しようqApp, SLOT(aboutQt())としたところ、aboutQtウィンドウが一時的にポップアップしたため、シグナルがトリガーされていることがわかりました。
  • qApp->quit();メイン ウィンドウ ボタンから実行される関数の先頭に含めます。アプリケーションはその行まで実行されますが、効果はありません。
  • processEvents()GUI が更新されていることを確認するために使用します。
  • mainWindow.setAttribute(Qt::WA_QuitOnClose);main.cppのようなステートメントを含めます。

メインウィンドウを閉じたときにアプリケーションを完全に終了させたいだけです。

違いがある場合は、qextserialport ライブラリを使用しています。

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

c++ - qextserialport が Windows でデータをドロップします -- どうすればよいですか?

バックグラウンド

現在、TelosB モートを使用してセンサー データを収集し、それを USB シリアル ポート経由で 115200 ボーで送信しています。

以前は、Python を使用してモートとインターフェイスするプログラムを開発していましたが、Python の GIL には、Python を使用しないことによってのみ解決できるスレッド化の問題があります (最初のテスト フェーズの後で、その同時実行性が必要でした)。 C++/Qt に移行しました。予備知識がなく、Qt のベスト プラクティスのほとんどを学び、すべてが完全に機能するようになったため、Qt に多くの時間を費やしました。この問題以外のすべて。

問題

ポートを読み取ろうとすると、大量のデータが送信されると、一部のデータ セットが不思議なことにエラーになり、プロジェクトで望ましい損失率よりも高くなります。

これは qextserialport を使用すると発生しますが、 pySerialでは発生しません。

これは、qextserialportでポートを初期化する方法です。

およびpySerial :

質問

したがって、2 つのライブラリがポートを初期化する方法に何か違いがあるのではないかと思いますが、シリアル プログラミングの経験がなく、間違っている可能性があります。

このエラーの原因は何か分かりますか?

0 投票する
0 に答える
177 参照

macos - Qt+Mac: シリアル ポートがコマンドに応答しません

ライブラリが必要ないため、変更された QExtSerialPort を使用します。デバイス自体によってデータが生成された場合、ポートに正常に書き込み、ポートから正常に読み取ります。しかし、それに対する私のコマンドでは、応答しません。bytesAvailable () は、コマンド レコードが成功した後に読み取ろうとすると、常に 0 を返します。Windows では、すべて正常に動作します。CoolTerm アプリケーションで com ポートをテストしたところ、正常に動作しました。

この動作を修正するにはどうすればよいですか?

どうも。

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

qt - qextserialport 1.2winalphaをQtCreatorと統合する方法は?

QtのGUIを使用してシリアルRS232デバイスと通信する必要があります....コードgoogleから最新のコードをダウンロードしました......しかし、次に何をすべきかわからない...最初に実行しました(どのバージョンか覚えていません) qextserialのそれはそうでした)しかしそれは私がちょうど私の.proファイルに含めた.priファイルを持っていました...このウェブサイト......しかし今ダウンロードされたコードに.priファイルがありません。

この機能をQtCreatorに統合した人を助けてください...事前に感謝します

0 投票する
3 に答える
1061 参照

windows - QextSerialPort::read() はタイムアウトになるまで戻りませんが、データは利用可能です

Win32 の Qt 4.8.1 で QextSerialPort を使用しています。「ポーリング」クエリ モードが設定され、QextSerialPort::setTimeout() を使用してタイムアウトが設定されている場合。QExtSerialPort::read() を呼び出すと、データが使用可能な場合でも、読み取り関数は、データを返しても、タイムアウト期間全体が経過するまで戻りません。

例えば:

指定された数またはバイトが読み取られるか、タイムアウトが期限切れになるとすぐに返されると思います-どちらが先に発生するか。

これは機能するはずですか、それともこのインターフェイスを誤解していますか? ポーリング モードで期待される動作を実現する方法はありますか。

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

qt - qextserialportが入れています

QExtSerialPort を使用して USB デバイスを読み取っていますが、シリアル ポート経由で送信されるデータの読み取りに問題があります。データは 100 ~ 1000 Hz のレートで送信され、データがまとまらない場合があります。たとえば、データのサイズが 18 バイトの場合、ほとんどの場合は 18 バイトとして読み取られますが、36 バイトまたは 54 バイトなどを読み取る場合もあります。これは特に、コンピューターに他のことをさせたときに発生します。私が使用するコードは次のとおりです。

誰にも解決策がありますか?

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

qt - CommEvent が Qt でオーバーラップしました

QT で Qextserialport を使用していますが、警告が表示され続けます。

この警告はどういう意味ですか? さらに重要なことに、どうすれば解決できますか?

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

c++ - QWinEventNotifier: QThread で開始されたスレッドでのみ使用できます

「QextSerialPort」を使用して Huwawei USB ドングルを開こうとしています。

私のPORTの詳細は次のとおりです

SMS を送信できるように、MY USB ドングルを開こうとしています。以下は、開くための私のコードです

このコードを実行すると、得られるのは

これはポート ID Open を示していますが、そのメッセージはどうでしょうか? それは、他のコードを進めることができないということですか? 他のことをコーディングする前に、これを知りたいです。