好的,我已經從串行與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