Это уже несколько раз обсуждалось - ищем CMGDA поиском по форуму, несколько ситуаций было прояснено.
Еще начиная с SIM300, потом SIM900, стандартная CMGD иногда глючит при удалении ВСЕХ SMS. Так как изначально рассчитывалась на телефон, а в модуле нет всей памяти под SMS как в телефоне. Поэтому была сделана CMGDA. Но или у китайцев логика извращенная, или мы что-то не понимаем, но GMGDA тоже работает своеобразно. Правильный алгоритм - удалять по одной и не хранить много. Получил SMS - обработал - выставил CPMS правильное хранилище и удалил. Или если все же надо что-то сохранять, то следить при удалении откуда удаляем.
Вот Alechek отвечал в одной из веток:
" Вообще, если мне не изменяет память, еще в SIM300 были проблемы с удалением всех СМС. Поэтому я удаляю их по одной."
Общий алгоритм такой: +СMGL=4 берем первую в листинге, смотрим ее тип. неотправленную - отправляем отправленную - удаляем входящую - обрабатываем, потом удаляем.
И так по кругу, пока что-то есть.
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|