Цитата(Rash @ Mar 31 2018, 12:21)

Ждите рассказов как Вы не правильно модуль используете.
Я вообще-то использую его согласно документации. В каком именно месте я отступаю от документации - укажите?
Цитата(Rash @ Mar 31 2018, 12:21)

То, что ПО модуля в эпоху ARMов корявое и тормознутое, я с Вами абсолютно согласен. То, что производители не хотят понять, что UART асинхронный, то ему ещё отводят лимитированное время на обработку из "мего крутой" операционной системы, к которой Симком не имеет ни какого отношения. Только это их разработчики выбирали этот чипсет, с такой операционкой. Про DMA режим и кольцевой буфер команд, думаю говорить им бесполезно. И напоследок, рекомендованная скорость это 9600 бит/сек.
Что значит "тормознутое"? Вот у меня работой с этим го#@о-модулем занимается одна из задач ОС на CPU с тактовой 120МГц. При старте драйвера общая загрузка CPU вырастает менее чем на 1%.
Один процент - максимум, Карл! А для разбора этого протокола на той стороне нужно примерно столько же ресурсов.
Т.е. - если у них там стоит такой же CPU который
всё время загружен на 99%, то да - наверное он не будет успевать. Но как нужно писать код чтобы загрузить их мощный ARM (мощнее моего ведь вроде) на 99% постоянно??? И что там такое нужно делать??
Какой бы ни был UART, хоть 115200, хоть 460800, с DMA или без - это всё доли процента загрузки такого CPU. Это всё ни о чём.
Цитата(Rash @ Mar 31 2018, 12:21)

Но если вы внимательно почитаете это форум, то найдёте кучу предупреждений, что это прежде всего GSM модуль.
Если он так работает, то это прежде всего - хлам.
Цитата(Rash @ Mar 31 2018, 12:21)

И даже, если Вы не используете GSM, в его ПО заложен приоритет на GSM, а не BT модуль.
Я писал, что использую режим
+CFUN: 0, при этом как говорит даташит:
AT command ”AT+CFUN” can be used to set the module to a minimum functionality mode
without removing the power supply. In this mode, the RF part of the module will not work or
the SIM card will not be accessible, or both RF part and SIM card will be closed, and the
serial port is still accessible.А каком GSM Вы тогда говорите? Всё выключено и GSM и SIM-карта. Чем он там может заниматься??? Этот мощный процессор?
Цитата(Rash @ Mar 31 2018, 12:21)

Также следующее предупреждение будет, что модуль это не пулемёт и не ждите от него быстрой реакции. Посылать команды сразу, даже спецификация не позволяет. Задержка между приёмом ответом на предыдущую команду и передачей следующей команды должна быть не менее 50мсек.
Это где Вы такое вычитали? Приведите ссылку.
Я вообще не понимаю такую фразу, что значит "модуль это не пулемёт"? Это что так теперь можно оправдать любой говнокод???
Цитата(Rash @ Mar 31 2018, 12:21)

Но если бы это работало так, это можно было бы назвать счастьем. А так послал команду, а она может прийти тебе когда угодно.
Вы похоже не поняли того, что я написал...
Дело не в том когда ко мне приходит ответ на команду. Естественно я жду прихода ответа на команду и ничего не передаю пока не получу этот ответ.
Дело же не в этом, а в том что если сразу после ответа на предыдущую команду послать сразу следующую (или через небольшой интервал времени), то после этого модуль может вообще перестать что-либо выдавать. А может вдруг прислать ответ на предыдущую команду! Никак логически не связанный с этой командой.
Это то почему такое может происходить?
Это говорит, что у них там в прошивке куча багов при работе с входными или выходными буферами UART: что-то не туда пишется, или баги взаимодействия обработчиков прерываний, которые принимают поток символов UART и задачи обработки или ещё где-то...
Цитата(Rash @ Mar 31 2018, 12:21)

Повторю, из собственного опыта, что передача и приём по BT работают в автоматическом режиме на модуле SIM800С, период посылки 500 мсек, длина пакета порядка 60 байт. Работает часами, модуль от этого не виснет. Работает как с присутствием СИМ карты, так и без неё.
И что?? В данном конкретном режиме баги не проявляются. И о чём это говорит? Да ни о чём.
Если ваше устройство на стол положить - работает, а если на тумбочку - не работает, это разве тумбочка виновата?
PS: Только что наступил на очередной баг SIM808. С приёмом данных из BT. На стороне компа порт открыт виндовым Гипертерминалом, просто жму и держу нажатой клавишу 'Z' в окне терминала. Мой драйвер периодически опрашивает SIM808 на предмет наличия входящих BT-данных. Какое-то время всё работает нормально (несколько секунд), потом вдруг получаю следующее:
CODE
14:46:40.01 SIMCOM.in: "+BTSPPMAN: 1"
14:46:40.01 SIMCOM.out: "AT+BTSPPGET=3,18"
14:46:40.03 SIMCOM.in: "+BTSPPGET: 1,1,Z"
14:46:40.03 SIMCOM.in: "OK"
14:46:40.04 SIMCOM.in: "+BTSPPMAN: 1"
14:46:40.06 SIMCOM.out: "AT+BTSPPGET=3,17"
14:46:40.06 SIMCOM.in: "+BTSPPGET: 1,1,Z"
14:46:40.06 SIMCOM.in: "OK"
14:46:40.07 SIMCOM.in: "+BTSPPMAN: 1"
14:46:40.07 SIMCOM.out: "AT+BTSPPGET=3,16"
14:46:40.09 SIMCOM.in: "+BTSPPGET: 1,1,Z"
14:46:40.09 SIMCOM.in: "OK"
14:46:40.14 SIMCOM.in: "+BTSPPMAN: 1"
14:46:40.14 SIMCOM.out: "AT+BTSPPGET=3,15"
14:46:40.15 SIMCOM.in: "+BTSPPGET: 1,1,Z"
14:46:40.15 SIMCOM.in: "+BTSPPMAN: 1"
14:46:40.15 SIMCOM.out: "AT+BTSPPGET=3,14"
14:46:40.15 SIMCOM.in: "+BTSPPMAN: 1"
14:46:40.15 SIMCOM.in: "+BTSPPGET: 1,0"
14:46:40.15 SIMCOM.in: "OK"
14:46:40.17 SIMCOM.out: "AT+BTSPPGET=3,14"
14:46:40.17 SIMCOM.in: ",Z"
Т.е. - в очередной раз получаю от модуля уведомление что есть входящие символы "+BTSPPMAN: 1", даю команду чтения этих символов "AT+BTSPPGET=3,14", получаю ответ что ничего нет "+BTSPPGET: 1,0", а через некоторое время после очередного опроса состояния входного BT-потока "AT+BTSPPGET=3,14" вдруг получаю что-то невразумительное:
",Z". Это что такое??? Похоже и приём в SIM808 нормально не работает.

(((((((((((
Rash, а у Вас как приём работает? Или у Вас нет приёма?