Вот кусок. Работает реально через раз.... Один раз загрузил - ок, второй не работает.
Когда работает, может прогнать цикл либо 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)); } }




Ответить с цитированием