[an error occurred while processing this directive]
|
Ну CMGF=1 это роскошь для меня :) (Siemens c45. Про модем пока мечтаю, но обязательно поюзаю). Команды я не перебирал. Я точно знаю что после какой команды должно приходить. Вот я и ставлю на каждую команду посылки номер. Например 1. ATZ; 2. ATE0 3.ATV0 4.AT+CLCK и т.д. А в процедуре приема switch на нужный пункт. И как только флаг приема сообщения из n строк (n-также задается перед посылкой AT команды) установлен, то выполняю процедуру обработки буфера данных, где точно знаю какому знакоместу соответствует какая инфа. +CLCK: 06/06/06 12:12:23 например. Вот и все. Пакет данных принимаю по признаку 0x0D 0x0A. Я делал под конкретный телефон, НО анализ показал, что разные телефоны, даже разные прошивки могут вести себя по разному. Например какие то ответы на команды могут быть маленькими буквами. Вообще приятно логировать ответ от телефона/модема и твоей железяки/компьютера на свободный COM порт. Тогда и себя контролируешь и железку. Что качается PDU, то при посылке СМС ставлю признак СМС для отправки и не жду 0x0D 0x0A, а жду приглашения для ввода > (0x3E). Все просто, но не нравится мне асинхронный обмен без контрольных сумм!
E-mail: info@telesys.ru