Привет всем.
Подскажите пожалуйста алгоритм разделения посылок от модема к МК (будь-то ответ на команду, включение, либо какие либо сообщения о пониженном питании).
В принципе, распознать, что за ответ - проблем нету. Проблемма в том, как определить конец посылки от модема.
Конец строки - CR LF. Но иногда модем возвращает пару строк подряд. т.е. определив конец строки и пойдя ее обрабатывать в это время могет заломится следующая строка и поламать мне преридущую.
Вариант нескольких буферов приема не катит.
Единственное, до чего дошел - по приему CR LF врубать таймер на n мсек. Если в течении этого времени что-то придет - то продолжить писать в буфер. Если нет - то обработать буфер, разделенный все теми же CR LF на строки.
Возникает вопрос, каково должно быть это вот n сек, не все же команды обрабатываются одинаково по времени.
Ну и за одно, начитался,что модемы эти, бывает, лагают, и иногда их приходится ресетить. Кроме как отсутствия ответа от модема (опять же вопрос, какое время стоит ожидать ответа?) есть ли какие-то еще явные признаки о глюках на уровне МК?
Или стоит раз в несколько часов его принудительно ресетить?
Работа планируется только с смс и гпрс. Пока не будет получет ответ от одной команды - вторая не отправится.
Может, кто поделится опытом?
Спасибо за внимание.