シリアル ポートに接続できますが、常にそこからデータを読み取る必要があります。
約 39 分間動作しますが、その後 line で停止しますserial.flush()
。
Qt を停止して再度起動すると、 で停止しserial.flush()
ます。モデムを再び機能させるには、モデムを再起動する必要があります...
私はこれを適切に実行しているかどうかわかりません...
// Open Serial connexion
QSerialPort serial;
serial.setPortName("usbserial-26214A");
serial.open(QIODevice::ReadWrite);
serial.setBaudRate(QSerialPort::Baud115200);
serial.setDataBits(QSerialPort::Data8);
serial.setParity(QSerialPort::NoParity);
serial.setStopBits(QSerialPort::OneStop);
serial.setFlowControl(QSerialPort::HardwareControl);
if (serial.isOpen() && serial.isWritable())
{
qDebug() << "Serial is open";
QByteArray output;
QByteArray input;
while(true)
{
output = "AT+CPMS=\"SM\"\r";
serial.write(output);
serial.flush();
serial.waitForBytesWritten(1000);
serial.waitForReadyRead(1000);
input = serial.readAll();
}
}
//編集
削除flush
しても機能しますが、コードは非常に高速です。WaitFor...
2回目のループの後、データを読み取る時間がありません 。
serial.isOpen() && serial.isWritable()
true
常にwhile ループ を送信します。
flush
番組は30分でストップ!