Наблюдаю презабавнейшую вещь - раньше (на макете) я после передачи команды дожидался ответа и <Cr> (не проверяя <Lf>), и все работало без проблем. В изделии - модем из той же партии, перешит в тот же B06, но при передаче последующей команды модем ошибается в приеме, в эхоконтроле вместо первой "A" выползает что-то другое, а остаток командной строки по эху нормально. Команда, естественно, не выполняется (не продетектировано "AT"). Стал проверять ответ по хвосту <Cr><Lf> - все стало работать нормально. Чудеса...
P.S. К сожалению, это оказалось не решением - изредка все ж не схватывает очередную команду, хоть это происходит и гораздо реже. Похоже, нужна еще задержка. Загадка - другой-то модуль работал без проблем...
P.P.S. Доперло - на макете-то я успел зафиксировать скорость, да так ее зафиксированной и оставил, без автодетекта. А на новом модуле автодетект был. Наблюдаемые чудеса - последствия автодетекта. И даже увеличение паузы не гарантировало надежность, пока не сделал паузу в единицы mS. Выключил автодетект - все работает как надо. Автодетект - пакостная штука, оказывается...
Сообщение отредактировал rx3apf - Oct 29 2010, 23:00
|