好的,我已经从串行与Arduino中获取一个字符串,我甚至没有运气,甚至复制和粘贴示例。Arduino无法正确读取串行
我想从串行中获取一个字符串。这里是我的代码:
void setup() {
Serial.begin(9600);
Serial.write("Power On");
}
void loop()
{
while(!Serial.available());
while (Serial.available() > 0) {
Serial.write(Serial.read());
}
Serial.println();
}
而且它逐个打印字符。
我也试过
char* read(int len) {
while (!Serial.available());
char str[len];
int i = 0;
while (i < len) {
str[i] = '\0';
int inByte = Serial.read();
Serial.println(inByte);
if (inByte == -1) {
return str;
} else {
str[i++] = inByte;
}
}
return str;
}
而且它在一个时间(serial.print(inByte)给出-1隔日一次)返回1个字符。为什么串行分割每个字符?
如果我输入“hello”,并且我打电话给serial.read(),它会给出一个字符,然后说什么都没有,然后给出另一个字符并且说什么都没有。
串口很慢。你通常一次只得到一个字节,然后一段时间没有。你需要在你的代码中处理这个问题,你现在没有这样做。 – 2012-03-28 13:08:07