問題タブ [termios]
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++ - termios Arduinoの読み取り/書き込みに失敗しました
こんにちは、C++ プログラムからコマンドを取得するように Arduino をプログラムしようとして問題が発生しています。termios を使用して Arduino に接続しています。Arduinoはゲートウェイモードです(基本的にコード自体を実行していませんが、プログラムからの入力を待って、接続したハードウェアと対話しています)。
私のtermiosセットアップは次のようなものです:
Arduino に読み書きするコードは次のとおりです。
最初にArduinoにテストコマンド(「AT\r\n」)を送信すると、(「OK」)で応答しますが、その後の読み取り/書き込みは失敗します。
テスト コマンドでは、Arduino の RX および TX ピンが点灯します (データを送受信していることを意味します) が、その後に送信したコマンドは失敗します。Arduinoに書き込もうとしても点灯せず、読み取りコマンドが無期限にハングします。
問題はファイル ハンドラーが閉じているようなものだと思いますが、これをテストする方法がわからないか、まったく別の問題である可能性があります。
c - C termios と printf の問題
LXterminal で Lubuntu を使用しています。
このコードの基礎を (ある程度) 恥ずかしがらずに、c の非ブロック キーボード入力の詳細を示すスタック オーバーフローの回答からコピーしました。
これは最初の部分です:
これは、いくつかの奇妙な動作を示す主な関数の 1 つです。
このメイン ループが行うことは、6 つの文字ブロックを取得することです (例: ENTER を 6 回押すか、矢印キーを 2 回押す)。
これは、追加するとよくわかります
メイン関数の最後まで。
それで、ここで何が起こっているのですか?すべてのprintf関数を解放するプログラムの最後に起こる魔法のようなものはありますか?
プログラムがまだ実行されているときに printf にするにはどうすればよいですか?
serial-port - termios を使用した C の Raspberry Pi UART プログラムがガベージを受信する (Rx と Tx が直接接続されている)
termios を使用して基本的な文字列を Raspberry Pi UART に送信し、応答を読み取って出力しようとする、C で記述された単純なプログラムがあります。Raspberry Pi の Rx ピンと Tx ピンはジャンパーで接続されているため、送信されたものはすべてすぐに受信されます。
プログラムは、選択した文字列 ('Hello') に対して 5 文字の送受信に成功したと出力しますが、バッファの内容を出力しようとすると、1 つか 2 つの文字化けが生成されます。
プログラム:
出力:
コード自体に大きな問題は見られませんが、間違っている可能性があります。同じ設定で接続された PuTTY を使用して文字を正常に送受信できるので、実際にはハードウェアの問題ではありません。PuTTY で試したことはありませんが、このプログラムで 115200 ボー未満で接続しようとすると、何も受信されません。
どこが間違っていますか?
configuration - どの端末が構成されているかを調べる方法は?
Ubuntu 13.04 デスクトップ コンピューターをTTL-232R-3V3 USB ケーブルを介して、メジャー ディストリビューションに属さない個々の Linux フレーバーを実行する組み込みシステムの UART インターフェイスに接続するとします。自分のマシンは、 を介して接続へのインターフェイスを提供します/dev/ttyUSB0。高水準言語 ( pySerial ) のフレームワークを使用しているため、 C-struct を介していくつかの端末オプションを構成することがわかっていますtermios。
問題は、設定している端末がどこにあるのかということです。リモート デバイスに送信して設定する情報はありますか。それとも/dev/ttyUSB0、システムがインターフェイスを解釈する方法を設定するだけですか? それとも、UART-to-USB 変換ケーブルのロジックで何らかの構成が行われているのでしょうか? termiosまた、3 つすべてが可能である場合、での操作によって構成されたパラメーターのセットをどのように判断します/dev/ttyUSB0か?
説明が簡単になる場合は、設定したフラグに応じて、ウィンドウに典型的なように、のみ、のみ、または両方を含むことができるLF/処理の例を検討してください。ただし、私の質問はこれらのオプションのみに限定されません。CRLFCR
注:マニュアルページでPOSIXおよびLinuxでは使用できないと宣言されているいくつかのオプションがすでにアクティブになっていることに気付いた後、私はその質問に行きました。