我正在开发一个Arduino项目,我只使用GPS,GSM和蓝牙的集成模块。 我在单个串行端口上得到所有这些设备的响应,其中蓝牙和SMS事件可以在任何时间发生,但是当它们发生时,它会扰乱串行端口数据上的当前数据,并且不会检测到任何新的蓝牙事件或任何新的短信事件。
void loop(){
while((digitalRead(6)==LOW)&&(q==0));
{
delay(1000);
Serial.println("Reading SMS");
while ( Serial3.available() > 0) Serial3.read(); // Clean the input buffer
memset(response,'\0',250);
memset(sms,'\0',11);
memset(number,'\0',14);
readsms();
q++;
}
if((digitalRead(6)==HIGH))
{
q=0;
perform the normal operation
}
while(digitalRead(7)==HIGH);
if(digitalRead(7)==HIGH)
{
blepair(); //function to pair a new device with bluetooth
delay(1000);
}
if(digitalRead(7)==LOW)
{
blestatus(); //monitoring any new event via bluetooth
delay(1000);
}
我在同一串口上获得的所有数据。 有哪些选项可以解决这个问题。 我非常感谢你早期的回复。