Цитата(jcxz @ Jan 19 2016, 10:20)

Вы не поверите, но URC может прийти даже во время приёма ответа, внутри него. Или между ним и "\r\n"; или между '\r' и '\n'.
Т.е. например: ERR<URC...>OR
Даже такое бывает.
Насчет такого скажу, что это грубая ошибка ПО и при работе с SIM300/SIM900 такого никогда не видел.
Цитата(jcxz @ Jan 19 2016, 12:14)

Это конечно косяк, но это печальная реальность - сталкивался с таким в Bluegiga WT-12.
К сожалению - таков уровень их программистов написавших её прошивку.
А вот у Bluegiga, подтверждаю, видел. Работал с WT11i и с BLE112 - и там и там случается.
Вроде солидная фирма, их даже Silicon Labs купила, а такие баги.
Цитата(koluna @ Jan 18 2016, 20:33)

Может ли в процессе выполнения AT-команды, т. е., между запросами AT+XXX и ответами типа OK, ERROR, ... от модуля/модема придти какой-нибудь URC?
Я в своем софте применяю след. гипотезу
Ответы на команду есть двух видов: от стека модема и от мобильной сети.
Вот я считаю, что между командой и ответом стека ничего влезть не может (не должно

).
А вот при ожидании ответа от ГСМ сети может что-нибудь и влезть, хотя тоже очень редко, обычно это ошибки и отлупы от ГСМ сети.
Типа PDP DEACT может придти когда угодно.
А чтобы не разгребать все возможные ответы модема (там бесконечное число вариантов

) просто периодически проверяется состояние конекта, и если что не так, запускаются процедуры восстановления.