私は比較的総デバイス(2台のコンピュータはCOMポート経由で接続されています)を持っていますので、QSerialPort
で動作させる必要があります。アイデアは単純です:データはCOMポートごとに1つのコンプから別のコンプに送信されます。 トランスミッタが正常に機能しています。これはサイドソフトウェアでチェックされていますが、データの受信に問題があります。まず信号readyRead()がスロットを実行しません
私は、ポートの設定:次のように私はQSerialPort
でそれをやっている
QSerialPort *serialport = new QSerialPort();
serialport->open(QIODevice::ReadOnly);
serialport->setPortName("COM1");
serialport->setBaudRate(QSerialPort::Baud19200);
serialport->setDataBits(QSerialPort::Data8);
serialport->setParity(QSerialPort::NoParity);
をして、私はこのようなデータをキャッチするために準備をしています:
connect(serialport,SIGNAL(readyRead()),this, SLOT(change_gear()));
とスロットchange_gearではまだありません私は何も持っていません。 qDebug()< < "データが受信されました"、
このスロットは電子メールではありませんver実行! ... だから、私はちょうどここに間違って何が起こっているのか理解できないと、なぜ私は、COMポートなどの簡単な方法からデータを読み取ることができません
OS- Windowsの8、 のQt 5.8.0 MinGWの32
次の命令 'serialport->オープン(のQIODevice ::読み取り専用)をスロットに接続されている;'パラメータ – eyllanesc
現在QSerialPort 5を設定した後に実行されなければなりません.9パラメータ設定後に開く必要はありませんが、そのようにする方が便利です。ポートが開いたら、いつでもパラメータを変更できます。ケーブルのもう一方の端にあるデバイスがどのように反応するかは別の質問です。 私は上記の質問に対するこの明確化は、それが困難で速いルールであることを意味するので、正当であると感じました。 – guitarpicva