
下記のコードを実行しますと、次の表示が出てデバイスが認識されます。
次に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ランキング
-
VirtualBoxのゲストOS起動時にU...
-
オーディオデバイス破損
-
ボリュームコントロールが表示...
-
FDの無効の仕方
-
タスクトレイ
-
デバイスマネージャが表示されない
-
PCの音がでない
-
USB1.1から2.0にしたいのですが。
-
デバイスマネージャーはBIOSの...
-
起動する毎に「リソースコンフ...
-
PCカードが認識しません。
-
マイコンピュ-タにCD-ROM...
-
ボイスメモ編集アプリを探して...
-
PCIメモリコントローラー
-
【Redhat Linux】「sar -d」の...
-
usbポートの仕様確認するには?
-
Windows再インストールの方法教...
-
「プラグアンドプレイ」を止め...
-
マウスを認識しない(HIDClassエ...
-
IBM G40 HAL ACPIから標...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VirtualBoxのゲストOS起動時にU...
-
Audacity 再生できない
-
TPMは使用できません。
-
vmware でUSB認識されない
-
Googleの2段階認証で「このコン...
-
「ハードウェアの安全な取り外...
-
PCのオーディオソフトウェアに...
-
デバイスマネージャーからネッ...
-
PCIメモリコントローラー
-
Windows11のPCからCanonTS84...
-
win10のスピーカーなどの「既定...
-
COM1のシリアルポートをデバイ...
-
外部デバイスを一旦停止し、抜...
-
Windows10です。 「お使いのPC...
-
USB1.0か2.0かの見分け方
-
IDE ATA/ATAPIコントローラにつ...
-
Windows SSD確認
-
デバイスマネージャーにCPU...
-
【Redhat Linux】「sar -d」の...
-
グラフィックボードのデバイス...
おすすめ情報