下記のコードを実行しますと、次の表示が出てデバイスが認識されます。
次にopenしたいわけですが、open出来ません。
ボーレートとかが設定されてないためか?
name:ttyUSB0 <---デバイスが認識されます。
Description:USB - Serial
Manufacturer:FTDI
Q1) 何とかオープン出来る方法があればお教えください?
この様な、簡単なコードでは旨く行かないのでしょうか?
尚、USBケーブルの先に、FTDIのuartのチップがついています。
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
void MainWindow::on_pushButton_clicked()
{
QString str;
//availablePorts()で利用可能なすべてのシリアルポートが取得できる
foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) {
str=QString("name:%1").arg(info.portName());
qDebug("%s",qPrintable(str));
str=QString("Description:%1").arg(info.description());
qDebug("%s",qPrintable(str));
str=QString("Manufacturer:%1").arg(info.manufacturer());
qDebug("%s",qPrintable(str));
// Example use QSerialPort
QSerialPort serial;
serial.setPort(info);
if (serial.open(QIODevice::ReadWrite)){ <ーーーopen出来ません============
qDebug("Serial port opened");
serial.close();
qDebug("Serial port opened");
}
else{
qDebug("Serial port not opened");
}
}
}
以上宜しくお願いします。
No.1ベストアンサー
- 回答日時:
Qtだとか、Ubunutuでのプログラミングとかやったことありませんけど。
>ボーレートとかが設定されてないためか?
http://doc.qt.io/qt-5/qserialport.html#baudRate- …
とか、設定方法はドキュメントにあるようですけど。
>次にopenしたいわけですが、open出来ません。
http://doc.qt.io/qt-5/qserialport.html#open
error()で何らか情報取れる…みたいですが試してみましたか?
http://doc.qt.io/qt-5/qserialport.html#SerialPor …
のどれかの値で判別できるようですが。
下記の様に変更してみましたが、変わりないようです。
int nn=serial.open(QIODevice::ReadWrite);
if (nn>0){
qDebug("Serial port opened");
serial.close();
qDebug("Serial port opened");
}
else{
qDebug("Serial port not opened");
}
No.2
- 回答日時:
>下記の様に変更してみましたが、変わりないようです。
>int nn=serial.open(QIODevice::ReadWrite);
open()の戻り値はboolなんですから、そりゃ意味ないでしょう。
>else{
>qDebug("Serial port not opened");
>}
で終わるのではなくて、
SerialPortError ErrNo = error();
とかやって、ErrNoには何が入りますか?
ってことなんですけど。
たとえば2が入っていればパーミッションの問題でアクセスできなかったんだな。
とか調べられるでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- C言語・C++・C# sprintf()の使い方について 1 2022/08/17 16:16
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Audacity 再生できない
-
「ハードウェアの安全な取り外...
-
Windows SSD確認
-
TPMは使用できません。
-
不明なusbデバイス デバイス記...
-
時代が変わればヘッドマウント...
-
SCSIデバイスが使えなくなりました
-
Linuxでのdevice.mapの使い方を...
-
lenovoのG560を購入したのです...
-
Fire HD 10 Plus タブレットでA...
-
partedで対象デバイスを間違え...
-
Googleの2段階認証で「このコン...
-
daemon toolsでマウントができない
-
「Windows Hello指紋認証と互換...
-
ボイスメモ編集アプリを探して...
-
私の機器のUSB規格はどれ?
-
CPU数の確認方法
-
グラフィックボードのデバイス...
-
サウンドカードの確認方法について
-
CD-Rにコピーできません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VirtualBoxのゲストOS起動時にU...
-
Googleの2段階認証で「このコン...
-
Audacity 再生できない
-
不明なusbデバイス デバイス記...
-
TPMは使用できません。
-
COM1のシリアルポートをデバイ...
-
PCのオーディオソフトウェアに...
-
IDE ATA/ATAPIコントローラにつ...
-
VB-Audio Virtual Cableを使っ...
-
【Redhat Linux】「sar -d」の...
-
iphone bluetooth でワイヤレス...
-
windows8.1のサポート終了について
-
vmware でUSB認識されない
-
Windowsパソコンについて
-
サウンドカードの確認方法について
-
デバイスマネージャーにCPU...
-
内臓ポインティングデバイスの...
-
Windows11のPCからCanonTS84...
-
グラフィックボードのデバイス...
-
LinuxではUSBビデオキャプチャ...
おすすめ情報