2013-05-16 2 views
0

Я пытаюсь удалить «отчеты о состоянии» в устройстве, используя следующий код-лист:Команда AT + для удаления отчетов о статусе [sms dilivery] "?

AT 
: OK 
AT+CMGF=1 
: OK 
AT+CPMS="SR" 
: +CPMS: 4,100,0,45,4,100 
AT+CMGD=50 
: ERROR 

Примечание: есть «отчет о состоянии» доступен в индексе: 50.

Не могли бы вы рассказать мне, что вызывает эту ошибку? Спасибо.

+0

Результат работы + CPMS говорит, что есть 4 сообщения. Попробуйте указать их с AT + CMGL = «ВСЕ» – dbasnett

+0

@dbasnett, спасибо за ответ. На самом деле 'AT + CMGL =" ALL "' тоже производит 'ERROR'. Но 'AT + CMGR = 50' считывает корректный ** отчет о состоянии ** без ошибок. – dan

+0

И команды '+ CMGD',' + CMGL' терпят неудачу только для ** отчетов о состоянии **. Они отлично работают, когда дело доходит до других сообщений (хранится в: SM, ME или MT). – dan

ответ

0

В соответствии с "ETSI TS 100 585", 0: "REC непрочитанное" 1: "REC READ" 2: "STO UNSENT" 3: "STO SENT" 4: "ВСЕ"

, так что, возможно, вы можете попробовать «AT + CMGL = 4», чтобы увидеть, работает ли он. Если это работает, вы можете использовать «at + cmgd = index», чтобы удалить нужное SMS.

+0

спасибо @ user2861965, но, как я сказал, 'AT + CMGL = 50' работает, а' AT + CMGD = 50' терпит неудачу. – dan

+0

Привет, дан. вы имеете в виду AT + CMGL = 50 или AT + CMGR = 50? Каков ваш ответ, когда вы используете AT + CMGL = 50? – user2861965

+0

Привет @ user2861965, я ошибся, так как '+ CMGL' и' + CMGD' ** терпят неудачу ** (но работает '+ CMGR'). Посмотрите, чего я пытаюсь достичь здесь, это удалить ** Отчеты о состоянии **. Благодарю. – dan