Прошивка вся какая-то настолько асинхронная, что живет своей жизнью и просыпается в самые неожиданные моменты - в результате ответы модема непредсказуемо меняются местами и путаются.
Допустим, SMS номер один отсутствует (уже стерто), в наличии есть SMS номер 2. Пробуем читать SMS по порядку в терминалке:
AT+CMGR=1 OK AT+CMGR=2 +CMGR: 1,,155 0791.... и т.д.
OK
Все нормально, строго по доке.
Теперь делаем то же самое, но быстро - например, повесив эти две команды на хоткеи терминалки и нажимая их с небольшой паузой, или делаем крохотную тестовую программку на управляющем контроллере, которая ждет ответа (OK <cr> <lf>) на первую команду и немедленно посылает вторую:
AT+CMGR=1 OK AT+CMGR=2 OK
+CMGR: 1,,155 0791....
Обратите внимание, где теперь находится OK, а где текст (+CMGR)! Приплыли. Разумеется, управляющая программа на такой авангард реагирует несколько нервно.
Проверялось на 12-й на 14-й прошивке, поведение аналогичное.
|