問題タブ [libserial]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - ストレンジ シリアル ミスコミュニケーション
さて、私は3つのデバイスを持っています。
- USARTでセットアップされたAVRバタフライマイクロコントローラ
- Debian を実行し、シリアル用のカスタム プログラムを使用する Bifferboard。
- Br@y's を実行するデスクトップ マシン。
そこで、Bifferboard がシリアルを AVR に送信するようにしようとしていますが、AVR は信号を受信しません (ワイヤーをチェックしました)。しかし、AVR をデスクトップ ボックスに接続し、Br@y で送信すると、正常に受信されます。
Bifferboard をデスクトップに接続すると、Br@y's は問題なく受信できます。
Bifferboard のコードは次のとおりです。
また、Bifferboard の minicom も使用してみました。デスクトップの Windows マシンとは通信できますが、AVR とは通信できません。
c++ - Libserial Open()がC++プログラムでフリーズする
基本的に、シリアルポート(実際にはUSB-> RS232コンバーターであり、libserialでサポートされているはずです)を開こうとしている非常に単純なC ++プログラムがありますが、コードはOpen()でフリーズします。エラーなし、例外なし、何もありません、それはただ何もしません。この特定のポートを除いて、他のシリアルポートで動作するようです。シリアルポートは、cutecomや他の端末でも機能します(他のプログラムによって予約されていません)。ポートを開く前後に設定を試みましたが、問題ではないようです。また、libserialの(かなり貧弱な)ドキュメントやヘッダーでハンドシェイクについて何もわかりません。おそらくハンドシェイクか何かを待っているのかもしれませんが、わかりません...Libserial0バージョン0.6.0とUbuntu10.10。何が問題なのか、どうすればこれをデバッグできますか... ?C ++でシリアルポートを使用するために提案された他のライブラリ/方法はありますか?
c++ - libserial受信データのシーケンスが間違っています
私は現在、Ubuntuでのシリアルポート通信にlibserialを使用するプロジェクトに取り組んでいます。MARK/SPACEパリティを許可するようにlibserialソースコードを変更しました。しかし、データ受信テストを行うとき、時々(約5%の確率で)着信データシーケンスが間違っています。最初のバイトは、着信バッファの中央にジャンプすることも、最後にジャンプすることもできます。
問題は元の機能の内部SerialPort::SerialPortImpl::HandlePosixSignal( int singnalNumber) f
にあります。エラーが発生すると、一部のバイトを正しく読み取ることができず、エラーの説明は「リソースが一時的に利用できません」です。しかし、すでにnum_of_bytes_available
ioctlを使用しているので、どうして失敗する可能性がありますか?
テスト中、私は頻繁にMARK/SPACEパリティを切り替えます。それは問題を引き起こしますか?
SetParity
関数内の変更された部分
c++ - C /C++およびLibSerialを使用したUbuntuのシリアルポートでの読み取りと書き込み
UbuntuでLibSerialを使用して、シリアルポートでデータの読み取りと書き込みを行っています。
現時点では、シリアルポートを介して文字列を読み書きすることはできますが、コードがうまく機能していません。特に、何か読むものがある場合にのみ読み取るように、読み取り機能を制御したいと思います。フロープログラムをブロックせずに別のコマンドを送信するために読み取る情報がない場合は終了します。
私はやってみたいです:
- コマンドを書く
- 答えを待つ
- 次に、別のコマンドを記述します
- 答えを待つ
これで、whileループでread関数を使用して最初のコマンドを送信し、回答を読み取ることができますが、それ以外のことはできません。 whileループが終了せず、プログラムが読み取りを続行するため、2番目のコマンドを送信できません。
手伝ってくれませんか。
これは私が使用しているコードです:(読み取りおよび書き込み機能はコードの最後にあります)
c++ - シリアルストリームへのC++書き込みバイト
この種の質問はインターネット全体に散らばっていることに気づきましたが、私を正しく指し示しているものは何もないようです。
シリアルストリームを介してプロペラコントロールボードにコマンドを送信しようとしています。接続は機能しているようですが、送信するすべての種類のコマンドでエラーが発生し続けます。同じ16進データである10ffffffe1が返されます。送信されているデータが正しい形式ではないようです。ボードはバイトデータを期待しているようで、(私は)私のコードはそれを実行しているようですが、私は自分が何を間違っているのか理解できません。データを正しく変換していないと思います。これが私のコードです。みんな、ありがとう。
注:以下のコードは、応答の読み取りを示していません。それは私の別のプログラムで行われ、動作し、シリアル端末からの応答も正しく読み取ります。
}
serial-port - pl2303conectorおよびserialstream.h/libserialによるubuntuでのbuadレートの設定エラー
Ubuntuでシリアル通信アプリケーションを開発しています。pl2303コンバーターとlibserialを使用しています。
私の問題は、ボーレートを設定できないことです。以下のソースコードを実行した後、エラー状態=2が発生します。
私のソースコードは次のとおりです。
c++ - eclipse C++ ubuntuへのlibserialのインストール/追加
しばらく C++ を使用していませんでしたが、Eclipse をセットアップして基本をセットアップすることができました。libserial を使用して MC と通信するプログラムを作成する必要がありますが、libserial ライブラリを追加する方法がわかりません。公式 Web サイト ( http://libserial.sourceforge.net/ )からダウンロードできましたが、インストール方法がわかりません。
libserial を Eclipse プロジェクトに追加する方法について、簡単なチュートリアルを公開できますか。今まで、私のインクルードは、これらの行で未解決のインカルジョンエラーを私に与えました:
ありがとう。
PS:ubuntuでのプログラミングは初めてです
ubuntu-12.04 - LibSerial C++ コードは Cutecom なしでは実行できません
libserial を使用して、Ubuntu 12.04 から ATxmega ボードにシリアル経由で通信しようとしています。私が抱えている問題は、最初に cutecom を実行しないとコードが実行されないことです。最初に cutecom を実行しないと、プログラムがフリーズして何も出力しません。ttyUSB0 への sudo アクセスを許可したり、ユーザーをダイアログ グループに追加したりするなど、いくつかのことを試しました。suとして実行します。また、VTime と VMin を追加しようとしましたが、どちらもうまくいきませんでした。これは、プログラムが残らない私のコードです。while(ros::ok()) ループに入ることはないようです。私は ros を使用していますが、ここでは効果がないはずです。私はボードと 1/10 秒のレートでやり取りしようとしています。