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

Если нет ответа на команду, что делать?

Добавлю ещё одно интересное наблюдение.

В ожидании ответа на команду AT (задержка 2 секунды описана ранее) можно спокойно получить BT данные, даже несколько раз. Но эта задержка есть, хоть с подключенным BT, хоть без.

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


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

И ещё неприятный подарок от модуля, на скорости 115200. Разрыв в ответе на команду. Может это и по стандарту какому то, но писатели обмена по UART, про DMA явно не слышали.

Первый символ '\r' от ответа передаётся отдельно.

post-8231-1507710587_thumb.png

post-8231-1507732800_thumb.png

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


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

Хоть и считается что RTOS в модуле многозадачная, но в любом модуле безусловным приоритетом N1 является GSM стек.

Если он посчитает что нужно прервать все операции и общаться с сотой, то ему пофигу был там обмен по UART или не было.

Простой пример - вы забираете данные с модуля. А оператор решил отправить на устройство команду изменения соты или мощности или еще что.

Так вот пока модуль эту ситуацию не проглотит, то ничего другого он делать не будет.

 

И это вопросы не к производителям модуля, а к тому кто придумал GSM стек и тому кто писал RTOS под модуль.

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


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

Я с Вами согласен, что приоритет для GSM стетка. Но рвать ответ не очень хороший способ. Если отправлять полингом, то да, прерывание GSM стека разорвёт посылку, если отправлять используя DMA, то посылку ни какое прерывание не разорвёт. Но это так, неприятные мелочи усложняющие обработку.

 

А по поводу периодической задержки на команду AT, двумя постами ранее, помочь можете? Или списывать тоже RTOS.

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


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

Я уже говорил по поводу АТ.

Запустите в цикле скрипт с терминалки в компе и увидите что задержек не будет.

 

Вот вам в цикле 50 запросов с временными метками - задержка между запросами установлена 50 mS - могу поставить меньше

Но и так видно что ответ мгновенный - так что причина как бы не в модуле....

 

[2017-10-11_14:14:58:661]AT

 

[2017-10-11_14:14:58:661]OK

[2017-10-11_14:14:58:715]AT

 

[2017-10-11_14:14:58:715]OK

[2017-10-11_14:14:58:769]AT

 

[2017-10-11_14:14:58:769]OK

[2017-10-11_14:14:58:823]AT

 

[2017-10-11_14:14:58:823]OK

[2017-10-11_14:14:58:877]AT

 

[2017-10-11_14:14:58:877]OK

[2017-10-11_14:14:58:932]AT

 

[2017-10-11_14:14:58:932]OK

[2017-10-11_14:14:58:986]AT

 

[2017-10-11_14:14:58:986]OK

[2017-10-11_14:14:59:040]AT

 

[2017-10-11_14:14:59:040]OK

[2017-10-11_14:14:59:094]AT

 

[2017-10-11_14:14:59:094]OK

[2017-10-11_14:14:59:149]AT

 

[2017-10-11_14:14:59:149]OK

[2017-10-11_14:14:59:203]AT

 

[2017-10-11_14:14:59:203]OK

[2017-10-11_14:14:59:257]AT

 

[2017-10-11_14:14:59:257]OK

[2017-10-11_14:14:59:311]AT

 

[2017-10-11_14:14:59:311]OK

[2017-10-11_14:14:59:366]AT

 

[2017-10-11_14:14:59:366]OK

[2017-10-11_14:14:59:420]AT

 

[2017-10-11_14:14:59:420]OK

[2017-10-11_14:14:59:474]AT

 

[2017-10-11_14:14:59:474]OK

[2017-10-11_14:14:59:528]AT

 

[2017-10-11_14:14:59:528]OK

[2017-10-11_14:14:59:582]AT

 

[2017-10-11_14:14:59:582]OK

[2017-10-11_14:14:59:637]AT

 

[2017-10-11_14:14:59:637]OK

[2017-10-11_14:14:59:691]AT

 

[2017-10-11_14:14:59:691]OK

[2017-10-11_14:14:59:745]AT

 

[2017-10-11_14:14:59:745]OK

[2017-10-11_14:14:59:799]AT

 

[2017-10-11_14:14:59:799]OK

[2017-10-11_14:14:59:854]AT

 

[2017-10-11_14:14:59:854]OK

[2017-10-11_14:14:59:908]AT

 

[2017-10-11_14:14:59:908]OK

[2017-10-11_14:14:59:962]AT

 

[2017-10-11_14:14:59:962]OK

[2017-10-11_14:15:00:016]AT

 

[2017-10-11_14:15:00:016]OK

[2017-10-11_14:15:00:071]AT

 

[2017-10-11_14:15:00:071]OK

[2017-10-11_14:15:00:125]AT

 

[2017-10-11_14:15:00:125]OK

[2017-10-11_14:15:00:179]AT

 

[2017-10-11_14:15:00:179]OK

[2017-10-11_14:15:00:233]AT

 

[2017-10-11_14:15:00:233]OK

[2017-10-11_14:15:00:288]AT

 

[2017-10-11_14:15:00:288]OK

[2017-10-11_14:15:00:342]AT

 

[2017-10-11_14:15:00:342]OK

[2017-10-11_14:15:00:396]AT

 

[2017-10-11_14:15:00:396]OK

[2017-10-11_14:15:00:450]AT

 

[2017-10-11_14:15:00:450] OK

[2017-10-11_14:15:00:504] AT

 

[2017-10-11_14:15:00:504] OK

[2017-10-11_14:15:00:559] AT

 

[2017-10-11_14:15:00:559] OK

[2017-10-11_14:15:00:613] AT

 

[2017-10-11_14:15:00:613] OK

[2017-10-11_14:15:00:667] AT

 

[2017-10-11_14:15:00:667] OK

[2017-10-11_14:15:00:721] AT

 

[2017-10-11_14:15:00:721] OK

[2017-10-11_14:15:00:776] AT

 

[2017-10-11_14:15:00:776] OK

[2017-10-11_14:15:00:830] AT

 

[2017-10-11_14:15:00:830] OK

[2017-10-11_14:15:00:892] AT

 

[2017-10-11_14:15:00:892] OK

[2017-10-11_14:15:00:946] AT

 

[2017-10-11_14:15:00:946] OK

[2017-10-11_14:15:01:000] AT

 

[2017-10-11_14:15:01:000] OK

[2017-10-11_14:15:01:055] AT

 

[2017-10-11_14:15:01:055] OK

[2017-10-11_14:15:01:109] AT

 

[2017-10-11_14:15:01:109] OK

[2017-10-11_14:15:01:163] AT

 

[2017-10-11_14:15:01:163] OK

[2017-10-11_14:15:01:217] AT

 

[2017-10-11_14:15:01:217] OK

[2017-10-11_14:15:01:272] AT

 

[2017-10-11_14:15:01:272] OK

[2017-10-11_14:15:01:326] AT

 

[2017-10-11_14:15:01:326] OK

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


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

Проверил в терминалке, результат точно такой же. Другого я не ждал. Передача команды AT, ответ приходит, когда сразу, когда с задержкой.

 

Добавил в предыдущий пост ещё одну картинку, где в 2-х ответах касающихся передачи данных по BT - Первый символ '\r' от ответа передаётся отдельно. Может такое есть и в других командах, тут увидел, т.к. стоит в программе была на него проверка и целостность пакета. Я очень сомневаюсь, что это вклинивается GSM стек, т.к. время практически одинаковое и разрывается только один символ. Это происходит очень редко (1 раз на несколько сотен или тысяч пакетов), но только один 1-ый символ.

 

Если у всех не бывает задержек при передаче несколько команд подряд, то вариант такого поведения остаётся пока только плата или подгоревший модуль. Задержки появляются после команд которые у меня проходят как инициализация (перечень их выше) или когда отсутствует СИМ карта. А с терминалки, даже без инициализации, через 4-5 команд появляются задержки. Что можно измерить или какой тест запустить?

 

Напряжение на ножках UART SIM800C - TXD: 2.8В; RXD: 2.56В. Это при подключении через преобразователь FT232RL.

На плате кроме модуля и сим карты ничего больше не подключено. Питание от 3A лабораторного источника питания 4.1В

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


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

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

 

И еще - если не включать блютуз, тоже есть задержка?

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


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

Вечером вообще всё лишнее отключил. Запитал от лабораторного источника 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, не было ни одной задержки ожидания приглашения для передачи. Единственное, что очень редко, символ первый разрывался от посылки, но может это из той же серии, откуда задержки появляются.

 

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


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

После включения

 

AT+GMR
Revision:1418B07SIM800C32_BT_EAT

AT&V
DEFAULT PROFILE
S0: 0
S3: 13
S4: 10
S5: 8
S6: 2
S7: 60
S8: 2
S10: 15
+CRLP: 61,61,48,6
V: 1
E: 1
Q: 0
X: 4
&C: 1
&D: 1
+CLTS: 0
+CREG: 0
+CGREG: 0
+CMEE: 0
+CIURC: 1
+CFGRI: 2
+CMTE: 0
+CANT: 0,0,10
+STKPCIS: 0
+CMGF: 0
+CNMI: 2,1,0,0,0
+CSCS: "IRA"
+VTD: 1
+CALS: 1
+CHF: 0
+CAAS: 1
+CBUZZERRING: 0
+DDET: 0
+MORING: 0
+SVR: 16
+CCPD: 1
+CSNS: 0
+CSGS: 1
+CNETLIGHT: 1
+SLEDS: 64,64,64,800,3000,300
+CSDT: 0
+CSMINS: 0
+EXUNSOL: 0
+FSHEX: 0
+FSEXT: 0
+IPR: 0
+IFC: 0,0
+CSCLK: 0

USER PROFILE
S0: 0
S3: 13
S4: 10
S5: 8
S6: 2
S7: 60
S8: 2
S10: 15
+CRLP: 61,61,48,6
V: 1
E: 0
Q: 0
X: 4
&C: 1
&D: 1
+CLTS: 0
+CREG: 0
+CGREG: 0
+CMEE: 0
+CIURC: 1
+CFGRI: 2
+CMTE: 0
+CANT: 0,0,10
+STKPCIS: 0
+CMGF: 0
+CNMI: 2,1,0,0,0
+CSCS: "IRA"
+VTD: 1
+CALS: 1
+CHF: 0
+CAAS: 1
+CBUZZERRING: 0
+DDET: 0
+MORING: 0
+SVR: 16
+CCPD: 1
+CSNS: 0
+CSGS: 1
+CNETLIGHT: 1
+SLEDS: 64,64,64,800,3000,300
+CSDT: 0
+CSMINS: 0
+EXUNSOL: 0
+FSHEX: 0
+FSEXT: 0
+IPR: 115200
+IFC: 0,0
+CSCLK: 0

ACTIVE PROFILE
S0: 0
S3: 13
S4: 10
S5: 8
S6: 2
S7: 60
S8: 2
S10: 15
+CRLP: 61,61,48,6
V: 1
E: 0
Q: 0
X: 4
&C: 1
&D: 1
+CLTS: 0
+CREG: 0
+CGREG: 0
+CMEE: 0
+CIURC: 1
+CFGRI: 2
+CMTE: 0
+CANT: 0,0,10
+STKPCIS: 0
+CMGF: 0
+CNMI: 2,1,0,0,0
+CSCS: "IRA"
+VTD: 1
+CALS: 1
+CHF: 0
+CAAS: 1
+CBUZZERRING: 0
+DDET: 0
+MORING: 0
+SVR: 16
+CCPD: 1
+CSNS: 0
+CSGS: 1
+CNETLIGHT: 1
+SLEDS: 64,64,64,800,3000,300
+CSDT: 0
+CSMINS: 0
+EXUNSOL: 0
+FSHEX: 0
+FSEXT: 0
+IPR: 115200
+IFC: 0,0
+CSCLK: 0
OK

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


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

СТОП!!!

 

+IPR: 0

 

Скорость стоит в автоопределении - конечно имеет право тормозить из-за пересинхронизации.

 

AT+IPR=9600

AT&W

 

выключить включить, проверить что запомнилось

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


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

Я на это тоже обратил внимание.

Но когда читаю скорость с контроллера в логе инициализации IPR возвращает установленную скорость. В логе выше это есть. Почему тут IPR 0, не знаю

Запрос после включения

AT+IPR?
+IPR: 115200
OK

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


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

Странно.....

 

>>> Подключил FT232RL (I/O запитаны от 3.3В).

 

Потом делители стоят?

Может действительно подпалили порт......

 

Я на отладке крутнул цикл из 500 запросов AT (выкладывать простыню не буду или могу в .doc выложить)

Ни одного разрыва или задержки в ответе.

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


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

FT232RL подключал сейчас, потом делители стоят, как на схеме. До этого подключено было только через контроллер STM32, который запитан от 3.3В. Делители как по схеме были всегда. Собрано 2 платы, и эти 2 платы себя так ввели изначально. На это не обращал внимания, т.к. решил завершить всю логику устройства, а потом к этому вернуться.

Также есть ещё не запаянные модули и платы, можно собрать для проверки, но что-то мне подсказывает, что результат будет такой же.

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


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

Странно. Помимо раздела DEFAULT PROFILE должны быть такой-же раздел с USER PROFILE и ACTIVE PROFILE . Кто съел?

Че говорит AT+CSCLK?

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


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

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

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

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

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

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

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

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

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

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