Arduino lire une chaîne de Série

#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] = '
#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");
}
}
'
; 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"); } }

Je suis en train de lire un de 4 caractères chaîne de caractères avec Arduino en Série, et quand il est AAAA allumer une LED, lorsqu'il est BBBB désactiver la série.

Cependant, quand je rentre "AAAA" il lit "AAAÿ" avec beaucoup de "ÿ"'s le long du chemin.

Je pense que je vais lire tout correctement, mais il ne fonctionne pas si bien, toute idée de ce que je fais mal?

  • Vérifiez que votre débit en bauds, bits d'arrêt, contrôle de flux, et la parité sont identiques sur les deux extrémités. Même si vous savez que c'est vrai," prendre les 3 minutes et le vérifier. Vous sauver des heures.
  • Quelle est votre Serial.begin() code?
  • C'est 9600, j'ai aussi posté.
InformationsquelleAutor David Gomes | 2012-05-04