Arduino Uno通过USB发送串口消息时崩溃

2 投票
1 回答
1054 浏览
提问于 2025-04-18 11:58

我正在使用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);
}

有没有人能告诉我,为什么发送串行消息到板子上会导致它崩溃和重启呢?

谢谢大家

1 个回答

1

虽然回答得有点晚,但我刚遇到一个类似的问题,关于Java的。问题是,当电脑打开串口时,Arduino会自动重启。这在大多数情况下其实是个好事。不过,如果你不想让它重启,可以很简单地对硬件进行一些修改,让它不重启。具体可以参考Arduino论坛

撰写回答