清除Serial.read()中的数据

时间:2012-07-04 05:10:09

标签: c++ arduino

我正在编程Arduino,当它在串口接收到某些东西时打开LED。我已经完成了这个并且它已经收到了数据,但是在LED应该关闭后它继续运行。这是我目前的代码:

int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  if(Serial.available() > 0) {
    Serial.print("RECEIVED_CALL");
    digitalWrite(ledPin, HIGH);
    delay(4500);
    digitalWrite(ledPin, LOW);
    Serial.clear();
  }
}

请留下任何建议。

1 个答案:

答案 0 :(得分:0)

添加一些调试语句(如Serial.print("LED_OFF")),以确保您的Arduino在收到串行数据后没有重新启动,如我的帖子here中所述。

这可能是导致光线不足的原因。如果您要发送足够的串行数据,它可能会一遍又一遍地重新启动。