我在 Arduino 上写串口有一个特殊的问题。我最近将一个项目中的电路板从Duemilanove更改为Mega2560。我的部分代码从处理程序中进行非常简单的串行读取,例如:
if (Serial.available() > 0) {
byte c = Serial.read();
}
在设置方法中,我打开一个 115200 波特连接:
Serial.begin(115200);
无论如何,这在 Duemilanove 上运行良好,但现在我切换到 Mega2560,Arduino 似乎没有接收串行数据。然而,令我惊讶的是,当我在启动发送数据的处理程序之前打开串行监视器窗口时,所有数据都被正确发送。
我的问题是,串行监视器发生了什么变化使一切正常,我如何在我的处理程序中重新创建它?