我正在开发一个项目,包括从arduino发送4个字符到python,这样python中的第一个变量读取第一个发送的字符,第二个变量读取第二个字符,但是当我在屏幕上打印它们时,不稳定且不同步。 即: 我发送了'''''''' d''''''''''''''''' 39;一个'' b'' C'' d&#39 ;. 但我收到的可能是这样的:' c'' d'' a'' b'或者''''' 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()
答案 0 :(得分:0)
我猜这是因为两者之间没有同步。 ardi坐在那里并吐出a,b,c,d,a,b,c,d,a,b,c,d等。当python代码连接时,没有任何东西可以让ardi开始' a',它只是继续做它并且python代码从当时ardi开启的任何东西开始获取数据。如果允许重复循环,请在问题描述中注意字符总是按顺序排列?
尝试使用python代码(启动时)向ardi发送内容,以便从头开始重新启动序列。