私はarduinoからPythonに4文字を送るプロジェクトを行っていました。そのためPythonの最初の変数は最初に送られた文字を読み込み、2番目の変数は2番目の文字を読み込みます私はそれが安定していない同期の画面にそれらを印刷します。 ie: 'a'、 'b'、 'c'、 'd'を送信し、Pythonで 'a'、 'b'、 'c'、 'd'を受け取ることを期待しています。 私が受け取るものは、 'c'、 'd'、 'a'、 'b'または 'b'、 'c'、 'd'、 'a'のようなものです。Pythonはarduinoから送られたデータを正しく読み込みません
Arduinoの
`
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.write('a');
Serial.write('b');
Serial.write('c');
Serial.write('d');
}
`
Pythonの
ser = serial.Serial('COM4',9600,timeout=0) ser.close() ser.open() up = ser.read() right = ser.read() left =ser.read() down = ser.read()
が理由だけではなく '印刷ser.read(4)' ...あなたがそれらの順序に通じてくる全てが表示されるはず... –
はなぜいけない、あなたは次のように文字列を送信 ":B:A C:Dの\ nを"(改行を区切って)、serial.readline()を使用して、新しい行を分割し、文字列を分割し、a、b、c、dを取得する:より安全な順序で取得し、 –
私はprint ser.read(4)を試しました...しかし値は変わりません。 – mido