我使用python通过USB向Arduino UNO发送短串行消息。这是从OSX机器上的终端运行的。
import serial
ser = serial.Serial('/dev/tty.usbmodem14121', 9600)
ser.write('H')
ser.close()
以前,Arduino正在运行代码来读取此消息并对其作出反应,但这导致Arduino崩溃并重新启动。简化代码导致了完全相同的结果。
int ledRed = 3;
int ledGreen = 5;
int ledBlue = 6;
void setup()
{
pinMode(ledRed, OUTPUT);
pinMode(ledGreen, OUTPUT);
pinMode(ledBlue, OUTPUT);
}
void red()
{
digitalWrite(ledRed, HIGH);
digitalWrite(ledGreen, LOW);
digitalWrite(ledBlue, LOW);
}
void green()
{
digitalWrite(ledRed, LOW);
digitalWrite(ledGreen, HIGH);
digitalWrite(ledBlue, LOW);
}
void loop()
{
green();
delay(1000);
red();
delay(1000);
}
任何人都可以了解为什么将序列发送到电路板导致其崩溃并重新启动?
全部谢谢
答案 0 :(得分:0)
迟到的答案,但Java也遇到了类似的问题。问题是当计算机打开串口时,Arduino(按设计)会重置。在大多数情况下,这可能是一件好事。如果不需要,可以轻松修改电路板硬件,使其不复位。 见the Arduino forum