問題タブ [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++ - qt-スレッドごとのUIの更新
こんにちは、スレッドによる ui の更新に問題があります。コードは正しく動作しますが、問題はウィンドウを移動したいときです。その瞬間に ui スレッドの更新が停止します。私のスレッドは、エラーを引き起こす停止したスレッドに値を送信します。これを修正する方法がわかりません。
ここに私のスレッドコードヘッダーがあります:
私のスレッド.cpp:
ここで私の mainwindow.cpp を簡単に説明します:
qt - QSerialPort: 受信バイト数でreadysignalの発信時間を調整する方法
Qserialport を使用して、10 ミリ秒ごとに 7 バイトのデータを受信しています。ボーレートは 115200 です。また、signal(readyread) と slot(別の関数の readLine) メソッドを使用します。読み取り準備完了信号は、16ms ごとにのみ送信されます。しかし、私のデバイスは 10 ミリ秒間隔でデータを送信します。10ms間隔でサンプルを受信する方法。readyread 信号を 10ms 間隔で発行する方法。ありがとう
c++ - qt シリアルポートが開かない
シリアルポートプリンターに書き込もうとしています。Qt5.4 と以下のコードを使用します。
エラーが発生します:
誰かがなぜこれが起こるのかを知るのを助けることができますか? 私のPCにはドライバーが入っていますか?Windowsから印刷をテストしようとすると、正常に動作します..
linux - プロセス終了後の `/dev/ttyS*` に対する QSerialPort の影響?
を使用している Qt アプリQSerialPort
でクリーンでないシャットダウンが発生した場合 (たとえば、受信して処理していないためSIGINT
)、シリアル ポートのファイル記述子はどのように影響を受けますか?
QSerialPort
onを開いて/dev/ttyS0
終了するアプリを実行した後、(通常のように)データを待つのではなく、(何も印刷せずに)即座に戻るCtl-C
ことがわかりました。cat < /dev/ttyS0
これが開いたままのファイル ハンドルが原因である場合は、 の出力に表示されると思いますがlsof
、lsof | grep ttyS0
何も返されません。(特定のファイル記述子でハンドルを検索する方法が他にあるかどうかはよくわかりません。)
を適切に処理するようにアプリを書き直すことで問題を完全に回避できたので、これは少し XY の問題であることを認識してSIGINT
いますが、ここで何が起こっているのか、シリアルを回復する方法があるかどうかをより深く理解したいと思います。この状態のときはポート。
編集:要求に応じて、次の出力がありますstrace cat /dev/ttyS0
:
そして、ここにの出力がありますstty -a -F /dev/ttyS0
:
c++ - qRegisterMetaType がエラーをスローするのはなぜですか?
を介して接続されたデータパケットを送受信できるアプリを構築するために、現在 Qt を使用していますQSerialPort
。
そのために、アプリとデバイス間の通信をインターフェースするオブジェクトがあります。
このクラスでは、通信を開始する run メンバー関数を呼び出すことができます。
その方法では、接続は次のようになります。
ここで、私の問題は、私が何をしようとしても、メタタイプを登録しようとするコードの最初の行を参照して、684 行目の ,QtCore
からインクルードされたファイルから常にエラーが発生することです。qglobal.h
SerialPortError
エラー :
タイプが登録されていません。Q_DECLARE_METATYPE マクロを使用して、Qt のメタオブジェクト システムに認識させてください。
そして、それが私がしたことです!コード内、クラス内、名前空間内、さらにはグローバルのどこからでも、そのマクロを呼び出しましたQ_DECLARE_METATYPE(QSerialPort::SerialPortError)
が、何もうまくいきませんでした:/
このエラーを解決するために Web を調べてから 3 日目ですが、もう時間がありません。
自分が何を間違っているか、誤解しているのか理解できません。
誰かが私を助けることができますか?あなたはすでにそのエラーに直面していますか?
ありがとう、デビッド
c++ - QSerialPort の新しいシグナル スロット構文には、'connect' の呼び出しに一致するメンバー関数がありません
新しいシグナルとスロットの構文を使用しようとしていますが、connect 関数でコンパイル エラーが発生します。この場合、新しい構文を使用するにはどうすればよいですか?
完全なエラー メッセージ: