#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打开一个LED,当它是BBBB关闭串行。Arduino从串行读取字符串
但是,当我输入“AAAA”时,它会读取带有许多“ÿ”的“AAAÿ”。
我想我正确地阅读所有内容,但是它不能很好地工作,对我在做什么错误有任何想法?
确认您的波特率,停止位,流量控制和奇偶校验相同的两端。即使你“知道这是真的”,花3分钟时间来验证它。节省自己的时间。 –
你的'Serial.begin()'代码是什么? – qwertz
这是9600,我也发布了它。 –