Arduino 是否需要清除輸入緩衝區?
我用arduino mega 2560 進行發送封包給其他牌ic狀況是:
我第一次接上線,發送封包,立馬收到ACK封包(用serial.available()判斷)
第二次發送封包,卻沒收到ACK
第三次發送封包,有收到ACK
第四次發送封包,卻沒收到ACK
第五次發送封包,有收到ACK
以此類推,只有第一次接上線,有立馬收到ACK封包,其餘都要送兩次才會收到ACK!
是不是我用serial.available()判斷完成,要把緩衝區清空?
void loop(){
writep();
delay(3000);
if(Serial3.available()){ // 如果 Serial3 有資料,則進入 if
Serial.print(readLine3());//將ACK 印到serial0
}
} delay时间太长,是否影响到数据的接收和校验?
或者接收到的数据和接收格式不相同?
是不是IC端输出带有\n
页:
[1]