#include <stdio.h>
#define LED 13
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
int i;
char command[5];
for (i = 0; i < 4; i++) {
command[i] = Serial.read();
}
command[4] = '\0';
Serial.println(command);
if (strcmp(command, "AAAA") == 0) {
digitalWrite(LED, HIGH);
Serial.println("LED13 is ON");
} else if (strcmp(command, "BBBB") == 0) {
digitalWrite(LED, LOW);
Serial.println("LED13 is OFF");
}
}
Я пытаюсь прочитать 4-символьную строку с серийным номером Arduino, и когда это AAAA, включаю светодиод, когда он это BBBB выключить серийный номер.
Однако, когда я ввожу «AAAA», оно читается как «AAAÿ» с большим количеством «ÿ» по пути.
Кажется, я все правильно читаю, но работает не очень хорошо. Есть идеи, что я делаю не так?