ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
5 мая
1283926 Топик полностью
petrd (13.02.2023 18:58, просмотров: 169) ответил Лaгyнoв на а что не так с СМС? Отправка или получение? У меня получение - AT+CMGL="ALL" (обычно идут по одной и ее потом сразу удаляю). Там в теле ответа всё - дата, телефон, текст. И отправка. Кинул AT+CMGS="+7913.....". Получил оттуда ">" - выдал текст (не забыв в конце 0х1А). Ну и удалил - AT+CMGD=1,4. раньше я всё это делал тупо по порядку. Сейчас в фоне основной программы по признаку завершения посылки ответа. Здесь в отличии от работы с FTP или SMTP всё гораздо проще.
Все разбираю построчно, по мере прилета строк из кольцевого буфера в линейную строку. Прилетает СМС асинхронно "+CMTI: "SM",1" разбираю и выбираю номер номер этой СМС (чтобы не читать все смс), после этого читаю смс по ее номеру AT+CMGR=1\r, а это будет эхо+преамбула+текст_смс + ОК. Итого 4 строки. У эха нет спереди \r\n и в конце только \r без \n. Строку эхо - в игнор, разбираю преамбулу на предмет номера телефона, с которого пришло смс, если номер тот, ждем когда придет 

текст, разбираю текст и жду ОК.