реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> SIM800: ошибки при обработке AT-комманд
spot62
сообщение Jan 30 2018, 11:41
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 2-12-10
Пользователь №: 61 348



модем 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 - Jan 30 2018, 11:52
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jan 30 2018, 11:58
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



+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


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
spot62
сообщение Jan 30 2018, 12:13
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 2-12-10
Пользователь №: 61 348



Цитата(CADiLO @ Jan 30 2018, 14:58) *
А в даташите если посмотреть? - 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 - Jan 30 2018, 12:14
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jan 30 2018, 12:29
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



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

Еще начиная с SIM300, потом SIM900, стандартная CMGD иногда глючит при удалении ВСЕХ SMS.
Так как изначально рассчитывалась на телефон, а в модуле нет всей памяти под SMS как в телефоне.
Поэтому была сделана CMGDA. Но или у китайцев логика извращенная, или мы что-то не понимаем, но GMGDA тоже работает своеобразно.
Правильный алгоритм - удалять по одной и не хранить много.
Получил SMS - обработал - выставил CPMS правильное хранилище и удалил.
Или если все же надо что-то сохранять, то следить при удалении откуда удаляем.

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

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

Общий алгоритм такой:
+СMGL=4
берем первую в листинге, смотрим ее тип.
неотправленную - отправляем
отправленную - удаляем
входящую - обрабатываем, потом удаляем.

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


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 30 2018, 12:44
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(CADiLO @ Jan 30 2018, 14:29) *
Правильный алгоритм - удалять по одной и не хранить много.

А если так делать, то всегда при приёме новой СМС хранилище будет пусто, а не будет ли при этом новая СМС всегда записываться в одно и то же место флеши и таким образом быстро это место изнашивать? В то время как другие ячейки для СМС останутся нетронутыми.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jan 30 2018, 12:58
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



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

FS в 800 серии, после печального опыта с SIM900, сделана по принципу SSD - блочная структура и кольцевой сдвиг блоков.
Записать на одно и то же место теоретически получится после 8 сдвигов. А практически гораздо позже, в память же не только SMS пишутся.

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


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
spot62
сообщение Jan 30 2018, 13:05
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 2-12-10
Пользователь №: 61 348



Спасибо за ответы.
Цитата(CADiLO @ Jan 30 2018, 15:29) *
Получил SMS - обработал - выставил CPMS правильное хранилище и удалил.


Т.е. необходимо устанавливать хранилище всякий раз перед удалением?
Разве недостаточно указать AT+CPMS="MT" при инициализации, единожды?
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jan 30 2018, 13:23
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



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


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 8th July 2025 - 18:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01395 секунд с 7
ELECTRONIX ©2004-2016