s930427 发表于 2016-6-23 13:59:56

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
    }
      
}

164335413 发表于 2016-6-24 09:46:12

delay时间太长,是否影响到数据的接收和校验?
或者接收到的数据和接收格式不相同?
是不是IC端输出带有\n
页: [1]
查看完整版本: Arduino 是否需要清除輸入緩衝區?