串口 LED 闪烁

LED blink with Serial Port

这是我的程序。这是一个 Arduino 草图。

int bite = 0;

void setup() {
  Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
  pinMode(3, OUTPUT);
}

void loop() {
  if (Serial.available() > 0) {
  bite = Serial.read();
  if(bite != NULL){
    for (int i=0; i < bite; i++){
      digitalWrite(3, HIGH);
      delay(1000);
      digitalWrite(3, LOW);
      delay(1000);
      }
    }
  }
}

我希望代码检查是否有串行输入值以及它既不是空值也不是字符串,并在接收到串行值时使我的 LED 闪烁次数。我的代码只是让灯闪烁,而且灯也很暗。它只是保持 运行。当我向串口发送 null 时甚至会发生这种情况。

看看这个示例代码:

char incomingByte;
int led=3;

void setup() {
   Serial.begin(9600);
   pinMode(led,OUTPUT);
   Serial.println("LED control");
   Serial.println("0 = LED off)");
   Serial.println("1 = LED on");
}

void loop(){
  if(Serial.available()>0){
    incomingByte = Serial.read();
    if(incomingByte == '0'){
       digitalWrite(led,LOW);
    }
    if(incomingByte == '1'){
       digitalWrite(led,HIGH);
    }
  }
}

因此,您可能唯一需要做的就是将 int bite 更改为 char bite,因为 Serial.read()!