我正在运行一些测试代码来检查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位数据)。为什么会这样?为什么只有几次?
如果我忽略" Serial1.end(); Serial1.begin(9600); "然后,如果在发送任何消息后条件开始在无限循环中执行。这是为什么??