|
Если нет ответа на команду, что делать? |
|
|
|
Oct 5 2017, 08:29
|
Знающий
   
Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231

|
Добрый день. Есть несколько вопросов относительно правильной последовательности при общении AT командами с SIM800R? 1. В SIM800R была передана AT команда, но на неё нет ответа или пришел ошибочный (битый) ответ. Что делать по истечению определённого таймаута? Какое это должно быть время (хотя бы для команд независимых от сети)? Предполагаю, что если нет ответа, то необходимо послать эту команду ещё раз, например через 1..5 секунд. Но этот метод не эффективный, т.к. на самом деле модуль задумывается (это уже выяснили почему) и даёт ответ потом на две команды подряд. Например: Код AT // Проверка связи и ждём 2 секунды ответа AT // ответа нет, истёк таймаут, посылаю ещё раз OK // ответа на 1-ую команду AT
AT+CBC // Запрос напряжения АКБ, т.к. я получил OK на предыдущую команду
OK // ответа на 2-ую команду AT [b]!!! Тут происходит коллизия[/b]
+CBC: 0,92,4136 // Ответ напряжения АКБ OK // Ответ OK для запроса напряжения АКБ В данном примере коллизию можно обойти т.к. я жду конкретный ответ для обработки +CBC Но вот вариант с вклиниванием передачи данных, например по BT, смещает мой обработчик. Можно дописать ещё различных условий, но не считай, что так работать правильно. Код AT // Проверка связи и ждём 2 секунды ответа AT // ответа нет, истёк таймаут, посылаю ещё раз OK // ответа на 1-ую команду AT
+BTSPPDATA: 1,16,SIMCOMSPPFORAPP // Пришли данные по BT
AT+CBC // Запрос напряжения АКБ, т.к. я получил OK на предыдущую команду
OK // ответа на 2-ую команду AT [b]!!! Тут происходит коллизия[/b]
AT+BTSPPSEND=1,11 // Запрос на передачу по BT, т.к. я получил OK на предыдущую команду
+CBC: 0,92,4136 // Ответ напряжения АКБ OK // Ответ OK для запроса напряжения АКБ
> SPP APP OK // Передаю по BT, т.к. я получил OK на предыдущую команду SEND OK // Подтверждение передачи 2. Другой вариант - установить таймаут ожидания где-то 60 секунд, на любую команду (независимую от оператора) и если нет ответа, перегружать модуль. Подскажите, кто как делал и какие есть рекомендации от производителя?
|
|
|
|
|
 |
Ответов
|
Oct 7 2017, 16:23
|
Знающий
   
Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231

|
Удалил резистор R64 на линии TXD отчасти помогло. Спасибо. Удалил все лишние резисторы с не используемых пинов и делитель в цепи STATUS. Новая схема в приложении. Ничего больше не изменилось. Удаление резистора R64 помогло только в части моей инициализации. Также для теста добавил посылку несколько подряд команд AT. При обмене следующими командами, задержек при ответе не выявлено, ответ почти сразу или макс. 100-400 мсек, считаю это нормальным. Задержка ответа только в команде включение BT модуля, обычно около 2 секунд, но это хоть объяснить можно. Код инициализации: Код RDY +CFUN: 1 +CPIN: READY
AT // Ответ почти сразу OK
AT OK
AT OK
AT OK
AT OK
AT OK
AT OK
AT
Call Ready
OK
AT OK
AT OK
AT+IPR? +IPR: 9600 OK
AT+CSMINS?
SMS Ready
+CSMINS: 0,1 OK
AT+CFUN=1 OK
AT+BTPOWER=1 OK
AT+CMGF=1 OK
AT+GCAP +GCAP: +CGSM OK
AT+GMM SIMCOM_SIM800C OK
AT+GMR Revision:1418B07SIM800C32_BT_EAT OK
AT+GSN xxxxxxxxxxxxxxx OK
AT+CPIN? +CPIN: READY OK
AT+BTPAIRCFG=1,1111 OK
AT+BTSPPCFG="MC",1 OK
AT+CLIP=1 OK
AT+CLTS=1 OK
AT+CMIC=0,15 OK
AT+CLVL=100 OK
AT+CREG=1 OK
AT+DDET=1 OK
AT+CENG=1,1 OK
AT+SJDR=1,1,255,1 OK
AT+CCLK? +CCLK: "04/01/01,00:01:17+00" OK
AT+CLCC=1 OK
AT+CPMS="SM" +CPMS: 0,10,0,10,0,10 OK Но после этих команд в дальнейшем обмене начинаются задержки, которые иногда имеют периодичность, это хорошо видно когда передавать одну и туже команду подряд. Ответ на 1-ую команду приходит сразу, а на вторую с задержкой 1.8-2 сек., потом на следующую команду ответ приходит сразу, а посл неё опять с задержкой 1.8-2 сек.. Код AT OK // ответ сразу
AT OK // ответ с задержкой
AT OK // ответ сразу
AT OK // ответ с задержкой
AT OK // ответ сразу
AT OK // ответ с задержкой
AT OK
AT OK
AT OK
AT OK
AT+CBC +CBC: 0,92,4142 OK
AT+CREG? +CREG: 1,1 OK
AT+CSQ +CSQ: 16,0 OK Также если сим карта не вставлена, то ответ на передачу нескольких команд AT при инициализации, проиходит всегда с задержкой до 4 сек. Картинка показывающая задержку
Прикрепленные файлы
GSM2.pdf ( 89.17 килобайт )
Кол-во скачиваний: 11
|
|
|
|
Сообщений в этой теме
Rash Если нет ответа на команду, что делать? Oct 5 2017, 08:29 CADiLO А ведь это описано в документации
Установить фик... Oct 5 2017, 09:08 Rash Скорость фиксированная 9600 кбит/сек (было и 11520... Oct 5 2017, 11:02 CADiLO Странно... Чтобы модуль на АТ не ответил....
Теоре... Oct 5 2017, 11:46 Rash Модуль на AT команду отвечает. И отвечает 2 раза.
... Oct 5 2017, 12:22 CADiLO Вы так и не поняли.
>>> Жду ответ, если ... Oct 5 2017, 12:29 Rash Ув. CADiLO, скажите, что из приведенных Вами цитат... Oct 5 2017, 13:00 CADiLO Почему у меня больше чем за десяток лет работы с м... Oct 5 2017, 13:10 Rash Я просто предусматриваю такую возможность, что мож... Oct 5 2017, 13:28 CADiLO Все предусмотреть невозможно
Одесситы лет 8 назад... Oct 5 2017, 13:40 Rash Я ж думаю одесситы в следующей версии добавили воз... Oct 5 2017, 14:02 Short Circuit хм.. Я тоже периодически проверяю кроме регистраци... Oct 6 2017, 04:39 Mysteo Что-то у вас правда в схеме наворочено, работал с ... Oct 6 2017, 05:22 Rash Я уже ранее писал, такое бывает не всегда и может ... Oct 6 2017, 06:03 gerber Судя по всему, у вас включен какой-то Hardware Flo... Oct 6 2017, 06:21 Rash Кроме скорости ничего в параметрах порта не менял,... Oct 6 2017, 06:27 CADiLO Может где лишнюю подтяжку на UART поставили?
Пока... Oct 6 2017, 06:31 Rash Схему загрузил
Цепи идущие на мк STM32
GSM_PWRKEY ... Oct 6 2017, 07:04 Mysteo Уберите резистор R64 и вроде будет счастье
на лин... Oct 6 2017, 07:05 CADiLO Ну как бы да, в даташите нет этих резисторов. Возм... Oct 6 2017, 08:40 Rash понял, спасибо, ближе к вечеру уберу резисторы R64... Oct 6 2017, 09:03 CADiLO >>>>Забыл указать, на схеме он не нари... Oct 6 2017, 09:32 abi Проверьте как настроен режим управления потоком в ... Oct 9 2017, 13:41 Alex311 Здравствуйте, извините может не в ту тему пишу... ... Oct 9 2017, 13:07 Rash Команда передаётся по линии TX. Первый ответ по RX... Oct 9 2017, 13:55 Rash Запрос -ответ
КодAT+IFC?
+IFC: 0,0
что означае... Oct 9 2017, 15:03 jcxz Цитата(Rash @ Oct 9 2017, 18:03) Запрос -... Oct 10 2017, 08:39 Mysteo Попробуйте использовать переходник USB - UART и че... Oct 10 2017, 08:22 Rash Mysteo, в чём может быть логическая ошибка ПО, есл... Oct 10 2017, 12:11 Rash Добавлю ещё одно интересное наблюдение.
В ожидании... Oct 10 2017, 14:13 Rash И ещё неприятный подарок от модуля, на скорости 11... Oct 11 2017, 08:35 CADiLO Хоть и считается что RTOS в модуле многозадачная, ... Oct 11 2017, 09:38 Rash Я с Вами согласен, что приоритет для GSM стетка. Н... Oct 11 2017, 11:06 CADiLO RE: Если нет ответа на команду, что делать? Oct 11 2017, 11:21 Rash Проверил в терминалке, результат точно такой же. Д... Oct 11 2017, 14:57 CADiLO Попробую на выходные покрутить в цикле вашу инициа... Oct 11 2017, 17:29 Rash Вечером вообще всё лишнее отключил. Запитал от лаб... Oct 11 2017, 19:43 ArtemKAD А че выдает по AT+GMR и AT&V ? Oct 12 2017, 05:25 Rash После включения
КодAT+GMR
Revision:1418B07SIM... Oct 12 2017, 06:18 CADiLO СТОП!!!
+IPR: 0
Скорость стоит в авт... Oct 12 2017, 06:51 Rash Я на это тоже обратил внимание.
Но когда читаю ско... Oct 12 2017, 07:07 CADiLO Странно.....
>>> Подключил FT232RL (I/O ... Oct 12 2017, 07:42 Rash FT232RL подключал сейчас, потом делители стоят, ка... Oct 12 2017, 08:03 ArtemKAD Странно. Помимо раздела DEFAULT PROFILE должны быт... Oct 12 2017, 11:32 Rash ArtemKAD, Отредактировал предыдущий пост с командо... Oct 12 2017, 11:53 CADiLO Я сначала тоже думал на автозасыпание, но не склад... Oct 12 2017, 12:28 abi Попробуйте погонять в цикле другую команду, к прим... Oct 12 2017, 14:42 Rash Скорость зафиксирована. На команду GMM поведение т... Oct 12 2017, 15:51
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|