极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11227|回复: 1

Arduino 是否需要清除輸入緩衝區?

[复制链接]
发表于 2016-6-23 13:59:56 | 显示全部楼层 |阅读模式
我用arduino mega 2560 進行發送封包給其他牌ic
狀況是:
我第一次接上線,發送封包,立馬收到ACK封包(用serial.available()判斷)
第二次發送封包,卻沒收到ACK
第三次發送封包,有收到ACK
第四次發送封包,卻沒收到ACK
第五次發送封包,有收到ACK
以此類推,只有第一次接上線,有立馬收到ACK封包,其餘都要送兩次才會收到ACK!
是不是我用serial.available()判斷完成,要把緩衝區清空?
  1. void loop(){
  2.     writep();
  3.     delay(3000);
  4.     if(Serial3.available()){    // 如果 Serial3 有資料,則進入 if
  5.     Serial.print(readLine3());  //將ACK 印到serial0
  6.     }
  7.         
  8. }
复制代码
回复

使用道具 举报

发表于 2016-6-24 09:46:12 | 显示全部楼层
delay时间太长,是否影响到数据的接收和校验?
或者接收到的数据和接收格式不相同?
是不是IC端输出带有\n
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-26 20:05 , Processed in 0.046942 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表