arduino串列埠讀取有delay和無delay的區別
阿新 • • 發佈:2021-01-23
String comdata="";
void setup() {
Serial.begin(9600); // 設定串列埠波特率為9600
while (!Serial); // 如果串列埠沒有開啟,則死迴圈下去不進行下面的操作
}
void loop() {
comdata="";
delay(10);
while(Serial.available()>0)//如果串列埠有bai資料進du入的話
{
comdata +=char (Serial.read());//每次讀一個字元,是ASCII碼的
//Serial.print(comdata);
}
if(comdata.length()==0){return;}
Serial.println(comdata);
comdata="";
}
//下面是執行圖
可以看出,讀取到的資料顯示很不穩定 - - !,但是加上delay之後
void loop() {
comdata="";
delay(10);
while(Serial.available()>0)//如果串列埠有bai資料進du入的話
{
comdata +=char(Serial.read());//每次讀一個字元,是ASCII碼的
//Serial.print(comdata);
delay(10);
}
if(comdata.length()==0){return;}
Serial.println(comdata);
comdata="";
}
執行圖
加上delay之後就非常穩定了