python 没有正确读取从 arduino 发送的数据

python doesn't read data sent from arduino correctly

我正在做一个项目,其中包括从 arduino 向 python 发送 4 个字符,以便 python 中的第一个变量读取第一个发送的字符,第二个变量读取第二个字符,但是当我将它们打印在屏幕上,它不稳定且不同步。 IE: 我发送 'a'、'b'、'c'、'd',我希望在 python 中收到相同的内容:'a'、'b','c','d'。 但我收到的可能是这样的:'c'、'd'、'a'、'b' 或 'b'、'c'、'd' ,'a'.

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()

我猜是因为两者之间没有同步。 ardi 坐在那里并吐出 a、b、c、d、a、b、c、d、a、b、c、d 等。当 python 代码连接时,没有什么可以让 ardi 开始'a',它只是继续做它正在做的事情,python 代码从 ardi 当时打开的任何地方开始获取数据。如果您允许重复循环,请注意您的问题描述中的字符如何始终按顺序排列?

尝试让 python 代码(当它启动时)向 ardi 发送一些内容,以便它从头开始重新启动序列。