我是在包括髮送從阿爾杜伊諾到蟒4個字符的項目的工作,使得在python第一可變讀取第一發送字符和第二可變讀取第二字符,但是當發送的數據我在屏幕上打印它們不穩定並且不同步。 即: 我發送 'A', 'B', 'C', 'd',以及i期望接收在python相同的: 'A', 'B', 'C', 'd'。 但我收到的可能是這樣的:'c','d','a','b'或'b','c','d','a'。蟒不讀取從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)'...你應該看到他們都在爲了未來通過...... –
你爲什麼不發送一個字符串,如 「A:B:C:d \ n」(用newline delimiter),使用serial.readline(),然後去掉換行符,拆分字符串,得到a,b,c,d :)讓它們按順序更安全,並且確保在應用程序中放棄串行緩衝區開始 –
我試着打印ser.read(4)...但它的值不斷變化 – mido