реклама на сайте
подробности

 
 
> Если нет ответа на команду, что делать?
Rash
сообщение Oct 5 2017, 08:29
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 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 секунд, на любую команду (независимую от оператора) и если нет ответа, перегружать модуль.

Подскажите, кто как делал и какие есть рекомендации от производителя?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rash
сообщение Oct 11 2017, 19:43
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



Вечером вообще всё лишнее отключил. Запитал от лабораторного источника 3А макс. Выставил напряжение 4.15В. Подключил FT232RL (I/O запитаны от 3.3В). Подал питание, после нажал кнопку POWER_KEY (через транзистор как на схеме), светодиод NETLIGHT замигал. Пришли в терминал ответы от модуля
Код
RDY
+CFUN: 1
+CPIN: READY
Call Ready
SMS Ready

После посылаю в ручную команду AT, следующую посылаю тоже вручную, после прихода OK. Первые 4-5 раз, ответ приходит практически сразу, потом опять начинает чередоваться - сразу, потом с задержкой, потом опять сразу, потом с задержкой. Бывает 2 раза ответ сразу, потом опять с задержкой. Никакие другие команды, больше не посылал.
Скорость в терминале была 115200.
Когда работал с модулем через контроллер, разницы между 115200 и 9600 не заметил.
Пробовал 2 симки, разницы нет. Симки Водафон, но без симки задержки ещё больше.

Из положительного. Функционал звонков (dtmf) и смс работает без проблем.
Как работает BT модуль, пока тоже нравиться. Передаю каждые 500 мсек, модуль вполне справляется. Просматривал лог несколько минут передач по BT, не было ни одной задержки ожидания приглашения для передачи. Единственное, что очень редко, символ первый разрывался от посылки, но может это из той же серии, откуда задержки появляются.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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
- - Rash   Удалил резистор R64 на линии TXD отчасти помогло. ...   Oct 7 2017, 16:23
|- - 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
- - 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 18:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01426 секунд с 7
ELECTRONIX ©2004-2016