【发布时间】:2018-08-08 14:29:14
【问题描述】:
我想将值从 Raspberry Pi 上的 Python 程序发送到 Arduino。我的 RPi 程序如下所示:
import time, serial
time.sleep(3)
ser = serial.Serial('/dev/ttyACM0', 9600)
ser.write(b'5')
我的 Arduino 程序:
void setup() {
Serial.begin(9600); // set the baud rate
Serial.println("Ready"); // initial "ready" signal
}
void loop() {
char inByte = ' ';
if(Serial.available()) {
inByte = Serial.read();
Serial.println(inByte);
}
delay(100)
}
我的问题是,当我在 Python 中运行程序,然后在 Arduino IDE 中打开串行监视器时,它只显示“就绪”,而不是发送的值。如果我想让监视器与程序同时打开,则会出现错误:
设备或资源忙:'/dev/ttyACM0'
顺便说一下,我使用的是 Python 3.6。
如果这是一个简单的错误,我很抱歉,但我对串行和 Arduino 非常陌生。
【问题讨论】:
-
这是有道理的,因为您在 Arduino IDE 中打开的串行监视器与您的 python 程序正在使用的串行接口相同,因此您不能同时使用它们。您是否尝试过在 python 端进行读取以查看字节是否从您的
println发回?
标签: python python-3.x arduino raspberry-pi serial-port