基本上,我要做的是从Python向Arduino输入一个字符串,Arduino应该将其打印回来,然后再从Python中读取它。但是,当我运行此代码时,没有任何事情发生。
我已经单独尝试过Arduino代码,它与串行监视器配合得很好。我检查问题是否与readline()
有不同的问题并且运行正常,所以我猜问题是write()
。
这是我的Arduino代码:
void setup() {
Serial.begin(9600);
}
char rx_byte = 0;
void loop() {
if(Serial.available() > 0) {
rx_byte = Serial.read();
Serial.println(rx_byte);
}
}
这是我的Python代码:
import time
import serial
ser = serial.Serial('COM5', 9600)
ser.write(b's')
ser.flush()
time.sleep(1)
message = ser.readline()
print(message)
ser.close()
答案 0 :(得分:0)
我认为ser.flush()
可能会杀死回应。当我在没有它的情况下运行你的代码时,我的代码工作正常。
答案 1 :(得分:0)
我尝试过更改
message = ser.readline()
到
message = ser.read()
一切都适合我。尝试使用read()
代替readline()
答案 2 :(得分:-1)
您应该检查Arduino - Available,因为如果const nextYear = date.clone();
nextYear.add(1, 'year')
错过了一个()