Перейти к содержанию
    

SIM800: ошибки при обработке AT-комманд

модем SIM800C 1418B04SIM800C32_BT отвечает ошибкой после статуса OK, пример лога:

> AT+CMGD=
> 0,4
< OK

> AT+CMGF=0
< +CMS ERROR: 321

> AT+CMGF=0
< OK

кто-нибудь сталкивался?

 

Команда AT+CMGD работает только в текстовом режиме?

Для чего у SIMCOM специализированная команда AT+CMGDA?

Изменено пользователем spot62

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

+CMS ERROR: 321 = invalid memory index

 

Поэтому перед > AT+CMGD=0,4

 

где

 

4 Delete all messages from preferred message storage including unread messages

 

проверьте командой CPMS, что выбрано в качестве - preferred message storage

 

А то там не все может быть валидно, при некоторых комбинациях указатель остается на несуществующей памяти.

 

 

AT+CMGDA

 

А в даташите если посмотреть? - SIM800 Series_AT Command Manual_V1.10

 

6.2.25 AT+CMGDA Delete All SMS

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в даташите если посмотреть? - SIM800 Series_AT Command Manual_V1.10

6.2.25 AT+CMGDA Delete All SMS

Спрошу по-другому: AT+CMGDA , пмсм, дублирует AT+CMGD. Для чего эта команда нужна? AT+CMGD работает не во всех режимах (Text, PDU)?

 

При AT+CMGD=1,4 ошибок не возникает.

Изменено пользователем spot62

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это уже несколько раз обсуждалось - ищем CMGDA поиском по форуму, несколько ситуаций было прояснено.

 

Еще начиная с SIM300, потом SIM900, стандартная CMGD иногда глючит при удалении ВСЕХ SMS.

Так как изначально рассчитывалась на телефон, а в модуле нет всей памяти под SMS как в телефоне.

Поэтому была сделана CMGDA. Но или у китайцев логика извращенная, или мы что-то не понимаем, но GMGDA тоже работает своеобразно.

Правильный алгоритм - удалять по одной и не хранить много.

Получил SMS - обработал - выставил CPMS правильное хранилище и удалил.

Или если все же надо что-то сохранять, то следить при удалении откуда удаляем.

 

Вот Alechek отвечал в одной из веток:

 

" Вообще, если мне не изменяет память, еще в SIM300 были проблемы с удалением всех СМС. Поэтому я удаляю их по одной."

 

Общий алгоритм такой:

+СMGL=4

берем первую в листинге, смотрим ее тип.

неотправленную - отправляем

отправленную - удаляем

входящую - обрабатываем, потом удаляем.

 

И так по кругу, пока что-то есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Правильный алгоритм - удалять по одной и не хранить много.

А если так делать, то всегда при приёме новой СМС хранилище будет пусто, а не будет ли при этом новая СМС всегда записываться в одно и то же место флеши и таким образом быстро это место изнашивать? В то время как другие ячейки для СМС останутся нетронутыми.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>>СМС всегда записываться в одно и то же место флеши и таким образом быстро это место изнашивать?

 

FS в 800 серии, после печального опыта с SIM900, сделана по принципу SSD - блочная структура и кольцевой сдвиг блоков.

Записать на одно и то же место теоретически получится после 8 сдвигов. А практически гораздо позже, в память же не только SMS пишутся.

 

Ну и еще - если у вас SIM карта нового стандарта, то там есть мегабайт памяти, можно сохранять SMS туда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответы.

Получил SMS - обработал - выставил CPMS правильное хранилище и удалил.

 

Т.е. необходимо устанавливать хранилище всякий раз перед удалением?

Разве недостаточно указать AT+CPMS="MT" при инициализации, единожды?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может и достаточно, но проверить - одна команда и времени много не займет.

А то ведь от "третьей электронной неисправности" никто не застрахован.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...