Jump to content
    

Не понимаю, почему получаю ERROR, на команды AT+CMGD=1, AT+CMGL=”ALL”, AT+CMGR=1...? В чем может быть проблема?

С другими, НЕ СМС-командами всё ОК.

 

А проделана ли предварительная настройка?

 

AT_CPBS: ;выбрать телефонную книгу СИМ-карты (команда AT+CPBS="SM")

AT_CNMI: ;передавать в порт сигнал (+CMTI: "SM",nn) о входящих СМС: (AT+CNMI=1,1,0,0,0)

 

После этого можно принимать СМС:

AT_CMGL0: ;команда AT+CMGL=0 выдать в порт текст пришедшего SMS

AT_CMGL1: ;команда AT+CMGL=1 выдать в порт содержимое папки "Входящие"

Share this post


Link to post
Share on other sites

Разобрался, с чего то вдруг плюсики позабывал добавить, функция отсылала команду в виде ATCPBS :)

Share this post


Link to post
Share on other sites

Как вычислить момент когда можно отсылать СМС. Что если отсылать команды модулю, если он ещё не закончил выдачу других команд устройству... Как быть?

Share this post


Link to post
Share on other sites

Вычислить момент точно можно только если у вас на контроллер заведены не только Rx и Tx, но и CTS и RTS.

Share this post


Link to post
Share on other sites

Заведены конечно, RTS'ом приостанавливаю поток когда обрабатываю каждый байт, CTS проверяю перед отсылкой каждого байта, одно не понятно, почему CTS постоянно весит в одном состоянии.

Edited by Anthoni

Share this post


Link to post
Share on other sites

В "0" постоянно, у вас также дела с CTS?

1. Чтобы CTS выполнял функцию управление потоком, он должен быть включен. По умолчанию он включен, проверьте командой +IFC: 2,2

Вторая двойка - включеный CTS.

 

2. Даже если CTS включен, чтобы заполнить внутренний буфер SIM300, нужно записать туда 1 кбайт данных (если не ошибаюсь, такой размер буфера) при отсутствии передачи или при медленной передаче из буфера наружу. Так что переключения CTS в вашем случае может и не быть.

Share this post


Link to post
Share on other sites

Проведи эксперимент. Соеденись в CSD для передачи данных (скорость передачи в этом режиме 9600). И суй данные на скорости 115200 увидиш как CTS заработает.

Share this post


Link to post
Share on other sites

Тогда не буду проводить эксперимент, у меня скорость 38400, оптимальный вариант в моем случае, и CTS включен по умолчанию (2,2).

Парюсь только с одной проблемой, как бы не впихнуть команду, когда буду отсылать например СМС, в момент когда модуль будет что то передавать, например между RING...CLIP. Есть где то исходники посмотреть, как люди делают? CTS я понял не поможет мне.

Share this post


Link to post
Share on other sites

подскажите пожалуйста что это означает:

запрос: AT+CBC

ответ +CBC: 2,96,4153

не понятно что обозначает двойка

Share this post


Link to post
Share on other sites

А это в каком модуле? В принципе, это режим работы батареи... То есть, включен заряд, выключен или еще что-то. Остальные цифры вроде понятны интуитивно ;)

Share this post


Link to post
Share on other sites

+CBC: < bcs >, < bcl >,<voltage>

 

<bcs> charge status

 

0 ME is not charging

1 ME is charging

2 Charging has finished

 

<bcl> battery connection level

 

1...100 battery has 1-100 percent of capacity remaining vent

 

<voltage> battery voltage(mV)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...