为什么" Serial1.available()> 0"被执行了好几次?

时间:2015-12-20 10:06:07

标签: bluetooth arduino serial-port android-bluetooth

我正在运行一些测试代码来检查arduino中与蓝牙设备的串行通信。所以我写了这个测试代码:

void setup(){
Serial.begin(9600);
Serial1.begin(9600);
}
void loop(){
if(Serial1.available()>0){
      Serial.println("magi interrupt");
      delay(1000);
  Serial1.end();
  Serial1.begin(9600);
 }

据我所知,如果我通过蓝牙设备发送数据,那么如果条件将被执行,然后Serial1.end()禁用此串行通信。之后,当执行Serial1.begin(9600)时,则Serial1为再次安装。

不管Serail1.available()不再大于零,只要我不发送任何数据?

但是当我执行这段代码时,如果条件执行多次,虽然我只发送一次数据(2或3位数据)。为什么会这样?为什么只有几次?

enter image description here

如果我忽略" Serial1.end(); Serial1.begin(9600); "然后,如果在发送任何消息后条件开始在无限循环中执行。这是为什么??

0 个答案:

没有答案