2016-07-18 19 views
1

接続されたデバイスにカスタムボーレート10400を設定しようとしています。デバイスとやり取りするためにQt Creator IDEを使用しています。しかし、いくつかの方法では、デフォルトのボーレートであるボーレートを9600から変更することはできません。Linux - 接続されたデバイスにカスタムボーレートを設定する方法

私はQSerialPort::setBaudRate()を試しましたが、サポートされていない除数のために失敗しました。私はstty -F /dev/ttyUSB0 10400を試しましたが、無効な引数として返します。

freediag APIを使用して、現在はボーレートを10400に設定しようとしています。しかし、ドキュメントが不十分であるため、ボーレートの設定方法がわかりません。コマンドはIB 10ですが、このコマンドをどこで実行するかはわかりません(間違ったディレクトリでコマンドを実行している可能性がありますか?)

私が試しているもの以外の解決策がある場合は、オプションが不足しているため、私に説明してください。

答えて

1

私はあなたのデバイスがUSB仮想COMポートを介して接続されていると仮定しています。このアプリケーションでは、QSerialPortはUSB上の抽象レイヤーなので、USBボーレートを直接sttyに設定しようとすると動作しません(USBが非常に厳密に定義されたプロトコルであれば可能です)。

設定しようとしているのはQSerialPortオブジェクトのボーですが、10400は標準のボーレートではありません。デバイスがそのボーを使用する可能性は非常に低いです - QSerialPort::setBaudRate()を14400の値で代わりに使用してみてください。

おそらく、設定に関する詳細を投稿する必要があります。デバイスの性質は何ですか? RS232、RS485、または他のシリアルプロトコルを使用していますか?あなたがそれと正しくコミュニケーションしていることを確認するためのサンプルコードと、正しいコミュニケーションにどのような結果(ハードウェアまたはソフトウェア面で)を期待していますか?

+0

標準的なボーレートには、110,300,600,1200,2400,4800,9600,14400,19200,38400,57600,115200,128000および256000ビット/秒 – automaton

関連する問題