#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");
}
}
Estoy tratando de leer una cadena de 4 caracteres de largo con Arduino's Serial, y cuando es AAAA encender un LED, cuando es BBBB apague la serie.Arduino cadena de lectura de la serie
Sin embargo, cuando ingreso "AAAA" se lee "AAAÿ" con muchos "ÿ" en el camino.
Creo que estoy leyendo todo correctamente, pero no está funcionando tan bien, ¿hay alguna idea de lo que estoy haciendo mal?
Compruebe que la velocidad en baudios, bits de parada, control de flujo, y la paridad son idénticas en ambos extremos. Incluso si "sabes que es verdad", tómate los 3 minutos y verifícalo. Ahórrese horas. –
¿Cuál es su código 'Serial.begin()'? – qwertz
Es 9600, también lo publiqué. –