0

プログラムはarduinounoで実行されており、着信文字列を読み取り、文字列が何であるかに基づいて関数を呼び出します。

このプログラムは、arduinoのシリアルモニターを使用して文字列を渡すときに機能します。たとえば、順方向に送信すると、制御バイトがモーターコントローラーに渡されてモーターが順方向に回転する関数が呼び出されます。

ただし、Linuxからpyserialを使用すると、機能しません。接続は正常です-arduinoにシリアルに書き込んでから、正しく読み取るser.readline()を使用して確認しました。ただし、ser.write( "forward")を使用しても何も起こりません。

何か案は?

4

1 に答える 1

0

定義したプロトコルは何ですか? シリアルに入力された文字を CR または CRLF まで収集しますか?

Arduinoシリアルモニターは、送信時にCRを含むすべてのデータを一度に送信します。たとえば、他のソフトウェア - ハイパーターミナルは、文字を入力した瞬間にデータを送信し、CR を自動的に送信しません。

pyserial を介して一度にデータを送信し、最後に \n を添付してみてください。

于 2013-03-09T14:25:53.590 に答える