Цитата(Ildar Belkin @ Oct 16 2011, 12:29)

Я к чему спрашиваю. К примеру, посылаю команду, в ответ ожидается "OK" и через сколько его ждать от SIM900? 100 мс, 300 мс, 1 с? Дело в программном ожидании ОК от модема. Через прерывания в данном случае не могу реализовать - там задействован другой код программы. Если я не буду ограничивать время ожидания ОК и если оно не придет - то гаджет бесконечно зациклится на этом ожидании. Думал решить такую проблему через "хитросбрасываемый" watchdog - но слишком уж жестко это, хотя...
Используйте аппаратный таймер... Если в течении 5-6 секунд не пришёл ОК - ребут модема или повторение запроса( хотя если документированый ОК не пришёл - то это точно висяк и спасёт только ребут). Я так делаю. На каждую команду 5 сек ожидаение ОК( на самом деле приходит моментально и таймер останавливается - но вдруг). CREG? CGREG - делаю опрос с интервалом 2 секунды до 20 раз пока не приходит +CREG: 0,1 . Превышен лимит опроса - ребут модема. Вообщем в любом случае отловите зависон. Т.е. идеально на каждую команду проверка ответа - тогда висяки не страшны. Ну и ограничить кол-во перезагрузок 2-3 штуки.
Сообщение отредактировал MKdemiurg - Oct 16 2011, 10:41