【发布时间】:2014-08-24 06:31:41
【问题描述】:
我正在使用 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);
}
谁能解释为什么向主板发送串行会导致主板崩溃并重新启动?
谢谢大家
【问题讨论】:
-
您应该在
setup()中设置波特率,也许不匹配?如果将Serial.begin(9600)添加到setup()会发生什么? -
试一试,不幸的是板子仍然崩溃
-
好的,那我没办法了——但请确保您没有同时打开 Arduino 串行监视器窗口,据报道这是导致问题的原因。
标签: python serial-port arduino