Показать сообщение отдельно
Старый 15.09.2019, 22:46   #7938 (permalink)
Завсегдатай
 
Регистрация: 11.07.2019
Сообщений: 335
Вы сказали Спасибо: 87
Поблагодарили 86 раз(а) в 48 сообщениях
Сказал(а) Фууу!: 3
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Планета Земля
По умолчанию

Цитата:
На вопрос "когда" в условиях OC реального времени, работы по прерываниям с разным уровнем приоритетов точно ответить весьма проблематично
Для просмотра ссылок или изображений в данном разделе, у Вас должно быть не менее 15 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

По сигнатурам в ассемблерном коде можно вычислить расположение и наличие подпрограмм обслуживания разных команд, но вот порядок их действий отследить в таком коде сложно.
А например вызов "прозрачного режима" вообще не очевиден - прямого формирования нет, а есть ли вызов этой командной последовательности из вышеупомятой таблицы не просматривается.
Где-то видимо идет расчет указателя на запись в таблице, который найти не просто.
Мне не проблема реализовать таблицу, сгенерировать КС, ответить на запросы адаптера. Информация, которой не хватает - почему на команду
00 ff 01 00 04 00 ff 30 0f 00 или 01 fe 01 00 04 00 ff 30 0f 00 (первые два байта не важны так как это счетчик) которую я передаю Infineon руками - он мне отвечает 01 fe 01 00 02 00 05 00 вместо пакета
01 fe 01 00 3c 00 ff 30 10 00 01 00 56 41 53 35 .ю..<.¤0....VAS5
30 35 34 00 00 00 00 00 00 00 00 00 00 00 00 00 054.............
00 00 00 00 00 00 00 00 00 00 00 30 38 32 31 34 ...........08214
35 37 32 35 00 00 00 00 00 00 00 00 83 00 2c 01 5725........Г.,.
32 01 2.

Он даже не пытается читать параметры из модуля блютуз, хотя передает ему команды SET_EVENT_FILTER и SPP_TRANSPARENT_MODE.
Я ему пытался подтверждать SET_EVENT_FILTER и SPP_TRANSPARENT_MODE, также перед началом запроса пытался ему передавать
02 69 25 05 00 93 30 32 31 30 03 LMX9830_READY
и
02 69 0C 07 00 7C 30 32 31 30 12 14 01 03 SPP_INCOMING_LINK_ESTABLISHED

Но он упрямо отвечает 01 fe 01 00 02 00 05 00

Также я попробовал стать на RX ногу модуля блютуз на скоростях 9600 и 921600. И не обнаружил никаких запросов от Infineon к модулю bluetooth при включении питания. На 9600 я получаю строку C0 01 0B 09 90 D2 8F AF 57 57 55 6F 60

Похоже без лога трафика между Infineon и RX/TX выводами оригинального bluetooth модуля не обойтись.

Кстати проверил у себя PIO8 и PIO9 контакты на разъеме, которые уходят на Infineon. Это аналоги PG7 и PG6 на AMB2300. Так вот у меня на PIO8 нет напряжения, а на PIO9 есть.
Что интересно, если я имитирую соединение посылкой f0 f1 f2 f3, светодиод перестает моргать. А если затем закорачиваю PIO8 на PIO9, Infineon реагирует на это сбросом соединения (в UART ничего не шлет) и светодиод начинает снова моргать, но на команды больше не реагирует.

Возможно на оригинале PG6 и PG7 задействованы и Infineon только тогда выдает правильный ответ, когда на PG6 или PG7 высокий или низкий уровень.

Последний раз редактировалось lprot; 15.09.2019 в 23:22..
lprot вне форума   Ответить с цитированием