我有2個程序來測試串行通信,一個簡單的arduino程序,可以迴應串口上的任何內容以及寫入串行端口並打印答覆的python程序。Python串行寫入不起作用第一次運行
我遇到了一個問題,無論何時我上傳arduino程序並嘗試運行python後第一次上傳後,它會卡住print ser.readline()
,我假設由於某些原因python沒有寫入串口。我將不得不退出python程序並再次運行它以獲得來自arduino的回覆。該程序將繼續工作,直到我重新上傳arduino,然後再次python不會在第一次運行。另外,如果我在運行python程序之前打開並關閉串口監視器,它將運行第一次運行。有誰知道這是什麼問題?這是在Ubuntu上。
的Arduino
String str;
void setup() {
// Turn the Serial Protocol ON
Serial.begin(115200);
}
void loop() {
if (Serial.available()) {
str = Serial.readStringUntil('\n'); // Read the serial input
Serial.println(str); // sends ascii code
}
}
的Python
import serial
ser = serial.Serial('/dev/ttyACM1', 115200)
for i in range(0,4):
str = "test string\n"
ser.write(str)
print ser.readline()
python程序「不起作用」時出現什麼錯誤? – mhopeng
一般而言,在將新軟件上載到Arduino之後,在嘗試連接到Arduino之前,必須等待幾秒鐘。 –