spot62 0 30 января, 2018 Опубликовано 30 января, 2018 (изменено) · Жалоба модем SIM800C 1418B04SIM800C32_BT отвечает ошибкой после статуса OK, пример лога: > AT+CMGD= > 0,4 < OK > AT+CMGF=0 < +CMS ERROR: 321 > AT+CMGF=0 < OK кто-нибудь сталкивался? Команда AT+CMGD работает только в текстовом режиме? Для чего у SIMCOM специализированная команда AT+CMGDA? Изменено 30 января, 2018 пользователем spot62 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 30 января, 2018 Опубликовано 30 января, 2018 · Жалоба +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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
spot62 0 30 января, 2018 Опубликовано 30 января, 2018 (изменено) · Жалоба А в даташите если посмотреть? - 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 ошибок не возникает. Изменено 30 января, 2018 пользователем spot62 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 30 января, 2018 Опубликовано 30 января, 2018 · Жалоба Это уже несколько раз обсуждалось - ищем CMGDA поиском по форуму, несколько ситуаций было прояснено. Еще начиная с SIM300, потом SIM900, стандартная CMGD иногда глючит при удалении ВСЕХ SMS. Так как изначально рассчитывалась на телефон, а в модуле нет всей памяти под SMS как в телефоне. Поэтому была сделана CMGDA. Но или у китайцев логика извращенная, или мы что-то не понимаем, но GMGDA тоже работает своеобразно. Правильный алгоритм - удалять по одной и не хранить много. Получил SMS - обработал - выставил CPMS правильное хранилище и удалил. Или если все же надо что-то сохранять, то следить при удалении откуда удаляем. Вот Alechek отвечал в одной из веток: " Вообще, если мне не изменяет память, еще в SIM300 были проблемы с удалением всех СМС. Поэтому я удаляю их по одной." Общий алгоритм такой: +СMGL=4 берем первую в листинге, смотрим ее тип. неотправленную - отправляем отправленную - удаляем входящую - обрабатываем, потом удаляем. И так по кругу, пока что-то есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 30 января, 2018 Опубликовано 30 января, 2018 · Жалоба Правильный алгоритм - удалять по одной и не хранить много. А если так делать, то всегда при приёме новой СМС хранилище будет пусто, а не будет ли при этом новая СМС всегда записываться в одно и то же место флеши и таким образом быстро это место изнашивать? В то время как другие ячейки для СМС останутся нетронутыми. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 30 января, 2018 Опубликовано 30 января, 2018 · Жалоба >>>СМС всегда записываться в одно и то же место флеши и таким образом быстро это место изнашивать? FS в 800 серии, после печального опыта с SIM900, сделана по принципу SSD - блочная структура и кольцевой сдвиг блоков. Записать на одно и то же место теоретически получится после 8 сдвигов. А практически гораздо позже, в память же не только SMS пишутся. Ну и еще - если у вас SIM карта нового стандарта, то там есть мегабайт памяти, можно сохранять SMS туда. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
spot62 0 30 января, 2018 Опубликовано 30 января, 2018 · Жалоба Спасибо за ответы. Получил SMS - обработал - выставил CPMS правильное хранилище и удалил. Т.е. необходимо устанавливать хранилище всякий раз перед удалением? Разве недостаточно указать AT+CPMS="MT" при инициализации, единожды? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 30 января, 2018 Опубликовано 30 января, 2018 · Жалоба Может и достаточно, но проверить - одна команда и времени много не займет. А то ведь от "третьей электронной неисправности" никто не застрахован. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться