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

как начать работу с SIM300С

здравствуйте. помогите пожалуйста наладить обмен с SIM300С. я реально понимаю, что многим такие вопросы набири аскомину, но я никак не могу понять в чем я ошибаюсь...

 

аппаратно модуль подключен следующим образом:

питание модуля 4.2В

питание процессора 3.3В

 

входы-выходы Rx-Tx модуля модуля и процессора развязаны резисторами 5к ( стелефоном семенс С35 так отлично работает) вывод RST подключен к земле.

 

обмен я пытался вести следующим образом:

 

1. настраиваем USART процессора след образом: 8 бит данных, паритета нет один стоп-бит. частота обмена 115200

2. включаем модуль. он регистрируется в сети, начинает жмургать светодиодом раз в 3 сек (индикация регистрации)

3. модуль выдает строку CallReady.

4. после получения этой строки отсылаю в модуль последовательность "AT\0x0D"

5. модуль должен ответить строкой "0x0D\0x0A OK 0x0D\0x0A"

6. при повтороной отпраке "AT\0x0D" выдается сообщение об ошибке...

 

в чем я ошибаюсь? в чем я неправ?

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


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

отсылаю в модуль последовательность "AT\0x0D"

в чем я ошибаюсь? в чем я неправ?

 

 

 

Собственно, какую команду Вы передаёте? АТ - это префикс команды, за которым должны следовать какие-то буковки-циферьки, которые и определяют команду. Вместо "\0x0D" удобнее (нагляднее) применять "\r" (это, если Вы пишете на С). Т.е. команда будет выглядеть как-то, например, так

 

 

 

"ATE0\r"

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


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

Собственно, какую команду Вы передаёте? АТ - это префикс команды, за которым должны следовать какие-то буковки-циферьки, которые и определяют команду. Вместо "\0x0D" удобнее (нагляднее) применять "\r" (это, если Вы пишете на С). Т.е. команда будет выглядеть как-то, например, так

"ATE0\r"

 

на счет наглядоности согласен, а именно "AT\r" шлю из следующих соображений:

 

1.4 AT Command syntax

The "AT" or "at" prefix must be set at the beginning of each command line. To terminate a command line enter <CR>.

Commands are usually followed by a response that includes.”<CR><LF><response><CR><LF>”

Throughout this document, only the responses are presented, <CR><LF> are omitted intentionally.

 

2.2.45.1 AutoBauding

Synchronization between DTE and DCE ensure that DTE and DCE are correctly synchronized and the bit rate used by the DTE is detected by the DCE (= ME). To allow the bit rate to be synchronized simply issue an "AT" or "at" string. This is necessary when you start up the module while autobauding is enabled. It is recommended to wait 3 to 5 seconds before sending the first AT character. Otherwise undefined characters might be returned.

If you want to use autobauding and autoanswer at the same time, you can easily enable the DTE-DCE synchronization, when you activate autobauding first and then configure the autoanswer mode.

 

я понимаю так, что поскольку судя по описанию активизированна фукция автоподстройки частоты обмена и по умолчанию телефон отвечает на 115200, то эта строка позволит проконтрлировать понимает меня модуль или нет.

 

ктоме того:

 

Demonstration Syntax Expect Result

The AT command AT OK

interpreter is actively

responding to input.

 

так что вроде не в этом ошибка...

 

кстати, чуть не забыл! с наступающим! :-)

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


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

1. настраиваем USART процессора след образом: 8 бит данных, паритета нет один стоп-бит. частота обмена 115200

2. включаем модуль. он регистрируется в сети, начинает жмургать светодиодом раз в 3 сек (индикация регистрации)

3. модуль выдает строку CallReady.

4. после получения этой строки отсылаю в модуль последовательность "AT\0x0D"

5. модуль должен ответить строкой "0x0D\0x0A OK 0x0D\0x0A"

все правильно.

 

6. при повтороной отпраке "AT\0x0D" выдается сообщение об ошибке...

Т.е. пункты 1-5 проходят нормально, а проблема только с посылкой второй команды? Такого быть не может, ищи программный или аппаратный косяк.

 

Что за процессор используется? Посмотри электрическую спецификацию пинов на нем. Если написано, что пины "5V tolerant", то никаких резисторов ставить не надо, можно подключать напрямую.

 

В некоторых случаях есть проблема с тормозным автободингом, но, если на первую команду приходит нормальный OK, это не твой случай.

 

вывод RST подключен к земле.

Что за RST? Может, имелось в виду RTS? Желательно подать ноль еще и на DTR.

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

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


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

не совсем так. модель не отвечает и на первую посылку "АТ\0x0d"...

если делаю дознао но модуль, то он выкидывает наверх строку RING...

 

код вроде отлаженный. все процедуры и функции вполне корректно работали правда при общении с сименсом С35. код прогонял в отдачике.... щлются именно те посылки которые должны :-). БЛИН!

 

в названии вывода опечатка. ага это RTS. с DTRом обязательно попробую.... но что-то такое впечатление, что не с этим проблема....

 

просессор ATMEGA16

 

порылся по темам на этом же форуме - встретил такой момент, что народ для синхронизации обмена подает команду АТ через 0.5 секунд... и 10 таких попыток... что-то сомнения по этому поводу.

 

ниччччччего вобщем не понимаю.

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


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

Раза 2-3 я посылал AT что бы услышать OK. Между посылками делал паузу в 2 секунды. После установил фиксированную скорость.

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


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

порылся по темам на этом же форуме - встретил такой момент, что народ для синхронизации обмена подает команду АТ через 0.5 секунд... и 10 таких попыток... что-то сомнения по этому поводу.

Я подаю команду установки фиксированной скорости обмена например at+ipr=9600. В МК забит цикл передачи этой команды с периодом в 0.5 сек. Из цикла вылетаем по получению OK от модуля. (это может быть 1 попытка) всего прописано 10 циклов после которых МК считает,что произошла ошибка при включении модуля (типа завис или не включился или ещё какая беда :wacko: ) и повторяет программу включения модуля :smile3009: . Для повышения надёжности обмена, с МК работаю на фиксированной скорости.

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


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

уважаемые!!! огромное спасибо за советы и помощь!!!

 

ларчик открывался просто: глянул осциллографом сигналы на линии TX от контроллера к модулю наблюдались заваленные фронты. Судя по всему великоваты были согласующие резисторы 5кОм по этим цепям. Уменьшил их до 500 Ом и SIM300Cначал меня понимать. перезагрузил его 3 раза подряд. все 3 раза он принял команду "АТ" и корректно мне ответил. :08:

 

скорее всего после того вопросов у меня только прибится, ведь тема для меня относительно новая. вот...

 

вобщем ещё раз спасибо. :-)

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


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

>>>>Судя по всему великоваты были согласующие резисторы 5кОм по этим цепям. Уменьшил их до 500 ....

 

 

Можно с этого места подробнее ?

какая схема согласования ?

вот этому соответствует ?

http://www.microchip.ua/simcom/SimCom/Sim3...C_AN_REFSCH.pdf

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


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

А я вообще забыл про резисторы на UART и СИМ-кард, пока всё работает нормально, 3.6В питание на МК и SIM.

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


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

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

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

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

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

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

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

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

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

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