Вот кусок. Работает реально через раз.... Один раз загрузил - ок, второй не работает.
Когда работает, может прогнать цикл либо 4, либо 2 либо 5 раз - как ей захочится - например:
Код:
+CMTI: "SM",1
AT+CMGR=0
+CMGR: "REC UNREAD" +7114160385",,"12/09/10,16:34:47+24"
Start
OK
AT+CMGR=1
+CMGR: "REC READ","+7912616038 $ AxÊzb²Ò¢Ò¢ºZ¢j
Start
OK
AT)C
CB91
#CMGR: "REC READ","+79126160385",,"12/09/10,16:34:47+24"
Start
OK
AT+CMGR=1
+CMGR: "REC READ","+79126160385",,"12/09/10,16:34:47+24"
Start
OK
AT+CMGD=1
OK
А если не работает, то пишет
Код:
OK
AT+CMGD=1
OK
+CMTI: "SM",1
+CMTI: "SM",2
Код:
abc=strstr(bgsm,"+CMTI");
myGLCD.print(abc, 0, 150);
if(abc!=0)
{
myGLCD.setFont(SmallFont);
myGLCD.print("SMS=", 0, 225);
myGLCD.setFont(BigFont);
Serial1.println("AT+CMGR=1");
delay(1000);
rsms=1;
}
ok=strstr(bgsm,"OK");
if(rsms==1 && ok!=0)
{
myGLCD.printNumI(rsms, 50, 180);
start=strstr(bgsm,"Start");
myGLCD.print(start, 50, 150);
if(start!=0)
{
myGLCD.setFont(SmallFont);
myGLCD.print("Start", 25, 225);
myGLCD.setFont(BigFont);
pauto=1;
rsms=0;
Serial1.println("AT+CMGD=1");
delay(1000);
memset(bgsm, 0, sizeof(bgsm));
}
off=strstr(bgsm,"Stop");
myGLCD.print(off, 100, 150);
if(off!=0)
{
myGLCD.setFont(SmallFont);
myGLCD.print("Stop", 25, 225);
myGLCD.setFont(BigFont);
pauto=0;
rsms=0;
Serial1.println("AT+CMGD=1");
delay(1000);
memset(bgsm, 0, sizeof(bgsm));
}
}