Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Bluetooth чип от фирмы CSR
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Rf & Microwave Design
Страницы: 1, 2
Bosicc
Цитата(Andy36 @ Nov 27 2007, 11:55) *
Если Вы еще в форуме, не будете ли любезны поделиться опытом, по какому интерфейсу коннентитесь. Я пытаюсь по UART, но абсллютно безнадежно -не пишет и не читает. Заранее спасибо.

Попробуйте законектится через LPT и попробовать запустить различные программки из стандартного набора ( BlueTest, BlueTest2, PSKey )
В одной из них, не помню в какой, нужно установить тип транспорта ( UART/USB ) Если юзаете UART то не забудьте установить скорость и прочие настройки.
После этого, можете пробовать коннектится через UART. Это при условии что вы не забыли прошить в него прошивку ( используя программку BlueFlash )
Andy36
Цитата(Bosicc @ Nov 28 2007, 04:43) *
Попробуйте законектится через LPT и попробовать запустить различные программки из стандартного набора ( BlueTest, BlueTest2, PSKey )
В одной из них, не помню в какой, нужно установить тип транспорта ( UART/USB ) Если юзаете UART то не забудьте установить скорость и прочие настройки.
После этого, можете пробовать коннектится через UART. Это при условии что вы не забыли прошить в него прошивку ( используя программку BlueFlash )

Спасибо, буду пробовать, а в UART использовали _RTS, _CTS
Bosicc
Цитата(Andy36 @ Nov 28 2007, 07:42) *
а в UART использовали _RTS, _CTS ?

Нет, я использовал простейшую передачу без флоу контрола. Но с этими ногами тоже работает, проверял на борде.
skaarj
всем доброго времени суток1 не подскажете,где можно посмотреть схемку прошивальщика для блюкоре4?
korhal
Помогите, пожалуйста, с прошивкой BC04AudioFlash, до "своего" еще далеко, а прошивка нужна сейчас. Разбираюсь с модулем F2M03ALA от фирмы free2move и HCI-firmware к нему, хочу использовать модуль с хост-контроллером по UART интерфейсу. Но в прошивках, которые предоставляет free2move, по заявлению их суппорта, есть только USB интерфейс, а UART удален полностью. Надеюсь, в оригинальной прошивке от CSR с уартом все в порядке. Заранее огромное спасибо
nonedub
Добрый день.

Помогите, пожалуйста. Нужна прошивка, желательно не самая старая, - голый HCI, для блютус-модуля Rayson BTM-222 (чип CSR BlueCore4 BC417143B).

Оригинальная прошивка, идущая с BTM-222, содержит, помимо HCI, протоколы L2CAP и RFCOMM с SDP. И поддерживает набор из десятка ублюдочных АТ-команд.
kombi
Цитата(Koizumi @ Aug 17 2007, 14:11) *
Итак. Для тех, кому интерсно....

Интерфейс SPI обычный. Только Reset ещё есть.
CSR юзается как слейв. Данные с LPT считываются по положительному фронту, обратно в LPT устройств отвечает по отрицательному. CLK=0 в исходном состоянии.

Работа с этой чушью осуществляется чтением/записью в евонную память. Структура:
1. Дёргаем на 5 мс минимум RESET. Не то, чтобы это было нужно... smile.gif ну дёрнем...
2. Посылаем байт. Он определяет что бы с памятью будем делать 0x02 - писать, 0x03 - читать
3. Посылаем ещё 2 байта - это 16битный адрес в евонной памяти
4. Фигачим данные при записи, или тики при чтении. Линейно всю память с указанного адреса... Разумеется словами(т.е. минимум 16 тиков на одну посылку)....

Пример:

Код
Чтение Firmware ID. Прокатывает при любом состоянии проца.
03 FF 9A 00 00 00 00
03 01 00 00 00 00 00 00 00
03 FF 9A 00 00 00 00
03 02 C1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
03 FF 9A 00 00 00 00
03 04 38
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03 FF 9A 00 00 00 00
03 04 6E 00 00 00 00
                                
                                
Ответ(идёт параллельно посылке)
FF FF FF 03 FF 48 26
FF FF FF 03 01 D3 97 02 C1
FF FF FF 03 FF 48 26
FF FF FF 03 02 00 0B 00 6B 00 07 04 22 00 08 04 6E 00 0D 04 38 00 0A 11 0B
0C 00 00 00 14 EF 00 1B 04 00 1D 00 00 21 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 E7 E7 D4 33 D4 39 D4 3F D4 45 D4
4B 00 00 00 D4 5D D4 63 69 D4 6F D4 75 D4 7B D4 81 87 00 00 D4 8D 93 D4 99
00 00 F7 00 00 14 00 00 23 36 00 23 4B 26 00 01 00 00
FF FF FF 03 FF 48 26
FF FF FF 03 04 00 63 00 79 00 74 00 5F 00 38 75 00 6E 69 00 66 69 00 65 00
64 5F 00 66 00 6C 00 5F 62 00 74 00 00 2E 00 30 00 5F 00
32 00 32 00 5F 00 30 37 00 30 00 00 30 00 39 00 00 38 00 32 00 38 5F 00 65
00 00 63 72 00 35 00 36 20 00 32 30 00 30 00 00 2D 00 00 32 00 2D 00
30 39 00 00 10 00 00 6A 3E 11 8C E3 37 02 CA 00 00 00 21 00 00 5E 21
FF FF FF 03 FF 48 26
FF FF FF 03 04 10 B7


Люди! Кто-нибудь знает, где найти мануал по организации памяти в BlueCore???

А я RESET вообще не подсоединял , хоть в программаторе он и предусмотрен , на модуле (BT-20, BTM-111)он нужен для организации начальногос броса или последующего переподсоединения устройства и к SPI вроде не имеет отношения.

Цитата(nonedub @ Apr 14 2010, 13:43) *
Добрый день.

Помогите, пожалуйста. Нужна прошивка, желательно не самая старая, - голый HCI, для блютус-модуля Rayson BTM-222 (чип CSR BlueCore4 BC417143B).

Оригинальная прошивка, идущая с BTM-222, содержит, помимо HCI, протоколы L2CAP и RFCOMM с SDP. И поддерживает набор из десятка ублюдочных АТ-команд.


Могу слить только c BT-20, BTM-111- есть они у меня, BTM- 370 скоро придет....
kombi
Цитата(Bosicc @ Feb 22 2007, 07:45) *
Итак, опишу немного свою ситуацию.
У меня есть на плате ARM в котором я хочу реализовать BCSP транспорт и внедрить свой стек на уровне HCI команд. С АРМа команды посылаются на BC04 чип, чем и приводят его в действие.
Основная задача, это передача значений АЦП с АРМа на ПК, с дальнейшей обработкой. В качестве чипа думал использовать BC04-Flash Plug -and -Go, да меня обломали с возможностью приобретения оного. Теперь выбираю новый чип. На примете чипа
1. BC4-Audio ROM (BC413159)
2. BC4-Audio Flash (BC41C671)
3. BC4-ROM HCI (BC41B143)

Предпочтение отдается первым двум, из-за поддержки как HCI уровня так и RFCOMM.
Может кто подскажет какие +, а какие минусы этих чипов?
И есть маленькое непонимание, в чем отличие ROM чипов от Flash?


На BC4-Audio Flash (BC41C671) производится модуль BTM-370 от Rainsun. Продается во многих магазинах Москвы...

Цитата(skaarj @ Sep 1 2008, 19:50) *
всем доброго времени суток1 не подскажете,где можно посмотреть схемку прошивальщика для блюкоре4?

bassizlink
Здравствуйте знатоки. Есть хорошо известный модуль HC-05/HC06. Решил сделать простенький UART Bluetooth адаптер, вместо кабеля передачи данных. Вроде задача тривиальная, но проблема состоит в том, что оборудование подключаемое со стороны UART может работать только при настройках: 1200 бод, биты данных 7 , четность even. Засада в том, что после прошивки в HC-06 и подачи команды "AT+PE"(переводит четность в even), модуль должен автоматически перейти с 8 бит данных на 7, но остается прежним, как по умолчанию(8 бит данных). Перешиваю в HC-05, опять незадача:-при переходе в even, биты данных автоматом переводятся в 7 бит, но модуль нельзя настроить на скорость 1200 бод. Я новичок, всю голову сломал. Подскажите пожалуйста, как малой кровью добиться желаемого результата, или хотя бы возможные пути решения проблемы. Как задействовать управление потоками в этих модуля?
bassizlink
Неужели ничего нельзя cделать? Дайте хоть какой нибудь малюсенький совет, хотя бы в какую сторону копать.
bassizlink
Цитата(Bosicc @ Feb 26 2007, 03:41) *
1. Качал с сайта CSR
2. Есть почти все прошивши с сайта. Точно не проверял, но перекачал помоему все. Просто пока ты не запросишь доступ к закрытым разделам, ты не увидишь прошивки. Я это понял после одного месяца страданий и штурма ихнего суппорта sm.gif
3. Пока доступ в "Свои" я не получил, может Ваше ходатайство ускорит процес. sm.gif Как получу, выложу все что есть ( Описание чипов, прошивки )

Есть ли среди них прошивка Аналогичная, как на HC-06,"Linvor",только , чтобы можно было работать на скорости 1200, 1 стоп бит, четность even, биты данных 7, режим мастера не нужен. Если есть, скинь пожалуйста на bassizlink@mail.ru, очень нужно. Прошивка на HC-06 "Linvor" полностью устраивает, кроме того, что после перехода в режим even, биты дынных остаются равным 8, а нужно 7.Я честно говоря не профессионал, просто пытаюсь совместить хобби с работой.Есть ли смысл углубляться из за этого в BlueLab и на сколько я понимаю в C, из за этого.Есть ли возможность модифицировать прошивку, если да то где брать исходники?Стоит ли овчинка выделки?
uriy
Я бы поставил внешний MCU. В Bluelab работать пробовал, была беда с документацией на API. Но это была Bluelab 4 и было это лет 5 назад.
Зашивал тогда чип через LPT. USB кабель стоил очень дорого. Сейчас уже и LPT не найдешь. Может что-то изменилось.
bassizlink
Цитата(uriy @ Aug 9 2016, 19:05) *
Я бы поставил внешний MCU. В Bluelab работать пробовал, была беда с документацией на API. Но это была Bluelab 4 и было это лет 5 назад.
Зашивал тогда чип через LPT. USB кабель стоил очень дорого. Сейчас уже и LPT не найдешь. Может что-то изменилось.

На сколько реально изменить родную прошивку?

Цитата(uriy @ Aug 9 2016, 19:05) *
Я бы поставил внешний MCU. В Bluelab работать пробовал, была беда с документацией на API. Но это была Bluelab 4 и было это лет 5 назад.
Зашивал тогда чип через LPT. USB кабель стоил очень дорого. Сейчас уже и LPT не найдешь. Может что-то изменилось.

Мне нужно знать, можно ли снять Dump flash памяти, закинуть его в IDE, отредактировав прошивку залить обратно?Если да, то попробую освоить программирование микроконтроллеров и BlueLab.

Цитата(uriy @ Aug 9 2016, 19:05) *
Я бы поставил внешний MCU. В Bluelab работать пробовал, была беда с документацией на API. Но это была Bluelab 4 и было это лет 5 назад.
Зашивал тогда чип через LPT. USB кабель стоил очень дорого. Сейчас уже и LPT не найдешь. Может что-то изменилось.

К Сожалению в моем случае размеры имеют значение.

Цитата(uriy @ Aug 9 2016, 19:05) *
Я бы поставил внешний MCU. В Bluelab работать пробовал, была беда с документацией на API. Но это была Bluelab 4 и было это лет 5 назад.
Зашивал тогда чип через LPT. USB кабель стоил очень дорого. Сейчас уже и LPT не найдешь. Может что-то изменилось.

Шью по LPT, через интерфейс ISP.
uriy
В комплекте с Bluelab был какой-то прошивальщик, помнится он и дамп умеет читать. Как он назывался я уже не помню, BlueFlash, BlueFlasher.
Это было всего лишь диалоговое окно с несколькими кнопками и путями к файлам.
Но как потом этот дамп дизасемблировать я не знаю.
Судя по всему вам нужно то всего лишь изменить несколько байт там где происходит инициализация UART?
Как найти это место понятия не имею.
Была еще утилита PStool кажется называлась, она меняла во флешке некоторые параметры.
Наверно среди этих параметров может быть и настройка UART. В таком подходе прошивка считывает параметры из этой области и использует их для инициализации.

Не желаете на BLE перейти? У меня очень хорошие впечатления от NRF51822.
У них уже есть готовый пример для вас ble_app_uart.
bassizlink
Цитата(uriy @ Aug 10 2016, 05:01) *
В комплекте с Bluelab был какой-то прошивальщик, помнится он и дамп умеет читать. Как он назывался я уже не помню, BlueFlash, BlueFlasher.
Это было всего лишь диалоговое окно с несколькими кнопками и путями к файлам.
Но как потом этот дамп дизасемблировать я не знаю.
Судя по всему вам нужно то всего лишь изменить несколько байт там где происходит инициализация UART?
Как найти это место понятия не имею.
Была еще утилита PStool кажется называлась, она меняла во флешке некоторые параметры.
Наверно среди этих параметров может быть и настройка UART. В таком подходе прошивка считывает параметры из этой области и использует их для инициализации.

Не желаете на BLE перейти? У меня очень хорошие впечатления от NRF51822.
У них уже есть готовый пример для вас ble_app_uart.

Программу для снятия дампа памяти знаю, сделать это практически смогу. В PStool все очевидные для меня настройки связанные с инициализацией UART не дают возможность это сделать. Я к сожалению не специалист по программированию микроконтроллеров, но исходя из моего опыта, я тоже склоняюсь к тому, что это должно быть довольно таки просто, если есть опыт в этом направлении и исходный код.Задал вопрос в тех поддержку производителю, с просьбой изменить прошивку, но пока молчат. С дизассемблированием мне также мало чего известно, но возможно в крайнем случае придется заняться изучением.
bassizlink
Цитата(bassizlink @ Aug 10 2016, 06:26) *
Программу для снятия дампа памяти знаю, сделать это практически смогу. В PStool все очевидные для меня настройки связанные с инициализацией UART не дают возможность это сделать. Я к сожалению не специалист по программированию микроконтроллеров, но исходя из моего опыта, я тоже склоняюсь к тому, что это должно быть довольно таки просто, если есть опыт в этом направлении и исходный код.Задал вопрос в тех поддержку производителю, с просьбой изменить прошивку, но пока молчат. С дизассемблированием мне также мало чего известно, но возможно в крайнем случае придется заняться изучением.

Для меня не критично энергопотребление, но очень волнует совместимость с классическим блютус и обратная совместимость со старыми устройствами. У меня уже есть парочка BLE модулей, но из всех моих девайсов его видит лишь телефон на Android 4.1, с блютусом 4.0, да и то отказывается работать, так как поддержка BLE только с версии Android 5.0. Поэтому я как-то с опаской отношусь к подобным.
uriy
Вспомнил полезную для вас вещь. В примерах у Bluelab есть spp_dev_a и spp_dev_b. dev_a соединяется с dev_b вроде они создавали прозрачный uart.
Вам надо только указать свои параметры uart и зашить это в чип. Но в исходниках не вижу настройки uart. Не знаю как понимать следующие строчки в коде.

#ifndef NO_UART_CHECK
/* Make sure Uart has been successfully initialised before running */
if (StreamUartSource())
#endif

А USB отладчики дешевые похоже уже сделали http://www.ebay.com/itm/USB-SPI-debugger-p...0MAAOSwzgRW1sNG
bassizlink
Цитата(uriy @ Aug 10 2016, 10:27) *
Вспомнил полезную для вас вещь. В примерах у Bluelab есть spp_dev_a и spp_dev_b. dev_a соединяется с dev_b вроде они создавали прозрачный uart.
Вам надо только указать свои параметры uart и зашить это в чип. Но в исходниках не вижу настройки uart. Не знаю как понимать следующие строчки в коде.

#ifndef NO_UART_CHECK
/* Make sure Uart has been successfully initialised before running */
if (StreamUartSource())
#endif

А USB отладчики дешевые похоже уже сделали http://www.ebay.com/itm/USB-SPI-debugger-p...0MAAOSwzgRW1sNG

Я так понимаю это проверка, заданы ли настройки UART. Если заданы, то должно что-то выполняться в блоке If. В противном случае ничего не выполняется.
bassizlink
Цитата(uriy @ Aug 10 2016, 10:27) *
Вспомнил полезную для вас вещь. В примерах у Bluelab есть spp_dev_a и spp_dev_b. dev_a соединяется с dev_b вроде они создавали прозрачный uart.
Вам надо только указать свои параметры uart и зашить это в чип. Но в исходниках не вижу настройки uart. Не знаю как понимать следующие строчки в коде.

#ifndef NO_UART_CHECK
/* Make sure Uart has been successfully initialised before running */
if (StreamUartSource())
#endif

А USB отладчики дешевые похоже уже сделали http://www.ebay.com/itm/USB-SPI-debugger-p...0MAAOSwzgRW1sNG

Нашел две интересные вещи: транспорт LPT1 в BlueLab b

Цитата(uriy @ Aug 10 2016, 10:27) *
Вспомнил полезную для вас вещь. В примерах у Bluelab есть spp_dev_a и spp_dev_b. dev_a соединяется с dev_b вроде они создавали прозрачный uart.
Вам надо только указать свои параметры uart и зашить это в чип. Но в исходниках не вижу настройки uart. Не знаю как понимать следующие строчки в коде.

#ifndef NO_UART_CHECK
/* Make sure Uart has been successfully initialised before running */
if (StreamUartSource())
#endif

А USB отладчики дешевые похоже уже сделали http://www.ebay.com/itm/USB-SPI-debugger-p...0MAAOSwzgRW1sNG

Нашел две интересные вещи: транспорт LPT1 в BlueLab и в библиотеках SPP , участок кода отвечающий за инициализацию.Вообщем я так понял, что там ничего готового нет, надо изучать структуру проекта,С++ или С пока не понял, как компилировать и отлаживать все это дело, изучать библиотеки.Хотя возникла мысль создать rs 232 ,блютус адаптер с маленьким экранчиком и двумя кнопками для настройки.

DESCRIPTION
This function is called to initialise the RFCOMM configuration parameters
Values hard coded to avoid exposing rfcomm prim
*/
static void initConfigParams(rfcomm_config_params *config)
{
config->break_signal = 0;
config->modem_status = 0;
config->timeout = D_SEC(DEFAULT_RFCOMM_CONNECTION_TIMEOUT);
config->request = TRUE;
config->port_params.port_speed = 0xFF;
config->port_params.data_bits = 0x03;
config->port_params.stop_bits = 0x00;
config->port_params.parity = 0x01;
config->port_params.parity_type = 0x00;
config->port_params.flow_ctrl_mask = 0;
config->port_params.xon = 0x11;
config->port_params.xoff = 0x13;
config->port_params.parameter_mask = 0x3F7F;
}
uriy
Собственно похоже на ту же историю что и было у меня.
Есть какие-то исходники и они работают, но описания на API нет.
Как например понимать 0xFF и 0x03 в этих полях
config->port_params.port_speed = 0xFF;
config->port_params.data_bits = 0x03;
bassizlink
Цитата(uriy @ Aug 11 2016, 06:06) *
Собственно похоже на ту же историю что и было у меня.
Есть какие-то исходники и они работают, но описания на API нет.
Как например понимать 0xFF и 0x03 в этих полях
config->port_params.port_speed = 0xFF;
config->port_params.data_bits = 0x03;

Может все просто в шестнадцатеричной системе счисления или ссылка на константу?
uriy
Цитата
Может все просто в шестнадцатеричной системе счисления или ссылка на константу?
Понятно что в шестнадцатеричной, вы можете однозначно сказать какая это скорость 0xFF? Мне это ни о чем не говорит.

В pdf вижу только два файла в который могло встретится что-то о настройке uart. Но этого я в них не вижу.
bassizlink
Цитата(uriy @ Aug 12 2016, 05:52) *
Понятно что в шестнадцатеричной, вы можете однозначно сказать какая это скорость 0xFF? Мне это ни о чем не говорит.

Я не очень понимаю в низкоуровневом программировании, но посмотрите в документ CS_101499_UGP2_an_introductiontoBlueLab.pdf, на странице 6 есть изображение. В нем видно, что 0x400 это адрес памяти. По всей видимости где-то в библиотеках зашиты стандартные значения настроек UART.
http://www.atmega8.ru/wiki/view/doc.17.html пример для микроконтроллера атмега8. В общем для начала поизучаю программирование микроконтроллеров на С, для начинающих. Есть доля непонимания с моей стороны, то есть мы разговариваем на разных уровнях знаний.
bassizlink
Цитата(uriy @ Aug 12 2016, 05:52) *
Понятно что в шестнадцатеричной, вы можете однозначно сказать какая это скорость 0xFF? Мне это ни о чем не говорит.

В pdf вижу только два файла в который могло встретится что-то о настройке uart. Но этого я в них не вижу.

Здесь https://geektimes.ru/post/256902/ статья на русском.
bassizlink
Цитата(bassizlink @ Aug 15 2016, 09:56) *
Здесь https://geektimes.ru/post/256902/ статья на русском.

Начал изучать программирование микроконтроллеров. Сделал для себя вывод, что скорость UART изменяется делителем частоты.Интуитивно понял, что копать надо в datasheet на BC417143B микросхемы.Там нашел формулу 9600 бод * 0.004096 = DEC39 = 0x27. То есть 0xFF =DEC 255 , 255/0.004096= 62200 бод.
bassizlink
Цитата(bassizlink @ Aug 18 2016, 22:07) *
Начал изучать программирование микроконтроллеров. Сделал для себя вывод, что скорость UART изменяется делителем частоты.Интуитивно понял, что копать надо в datasheet на BC417143B микросхемы.Там нашел формулу 9600 бод * 0.004096 = DEC39 = 0x27. То есть 0xFF =DEC 255 , 255/0.004096= 62200 бод.

Вот что выдает PSTool при нажатии кнопки "describe" на соответствующем разделе:
The UART's (initial) Baud rate in builds from HCI 18.X. (This PS
key's name is similar to PSKEY_UART_BAUD_RATE, used in firmware
builds before HCI 18.X.)

A value of 0 has a special meaning which is to enable automatic
detection of the UART baud rate from data sent by the host to the
BlueCore following a chip reset. Note that this is designed for
use with ROM devices; automatic detection of Baud rate does not
work for the DFU upgrade procedure.

When the system is configured to use a UART-based host transport,
i.e. if PSKEY_HOST_INTERFACE selects BCSP, H4, H5 or User (VM
access to the UART), then the UART's Baud rate is set to the value
of this PS key when the firmware boots. The PS key's value is:

Baud rate = pskey_value/0.004096

Some common values are:
38k4 baud - 157 (0x009d)
57k6 baud - 236 (0x00ec)
115k2 baud - 472 (0x01d8)
230k4 baud - 944 (0x03b0)
460k8 baud - 1887 (0x075f)
921k6 baud - 3775 (0x0ebf)
1382k4 baud - 5662 (0x161e)

The maximum rated speed for the UART hardware is 1.5 Mbaud, although
this key can be set to a higher value.

The BCCMD command "Config_UART" enables the host to set the UART
to a different Baud rate after booting, but the change is lost
when the firmware reboots.

bassizlink
Цитата(bassizlink @ Aug 22 2016, 13:39) *
Вот что выдает PSTool при нажатии кнопки "describe" на соответствующем разделе:
The UART's (initial) Baud rate in builds from HCI 18.X. (This PS
key's name is similar to PSKEY_UART_BAUD_RATE, used in firmware
builds before HCI 18.X.)

A value of 0 has a special meaning which is to enable automatic
detection of the UART baud rate from data sent by the host to the
BlueCore following a chip reset. Note that this is designed for
use with ROM devices; automatic detection of Baud rate does not
work for the DFU upgrade procedure.

When the system is configured to use a UART-based host transport,
i.e. if PSKEY_HOST_INTERFACE selects BCSP, H4, H5 or User (VM
access to the UART), then the UART's Baud rate is set to the value
of this PS key when the firmware boots. The PS key's value is:

Baud rate = pskey_value/0.004096

Some common values are:
38k4 baud - 157 (0x009d)
57k6 baud - 236 (0x00ec)
115k2 baud - 472 (0x01d8)
230k4 baud - 944 (0x03b0)
460k8 baud - 1887 (0x075f)
921k6 baud - 3775 (0x0ebf)
1382k4 baud - 5662 (0x161e)

The maximum rated speed for the UART hardware is 1.5 Mbaud, although
this key can be set to a higher value.

The BCCMD command "Config_UART" enables the host to set the UART
to a different Baud rate after booting, but the change is lost
when the firmware reboots.

Кажется удалось решить проблему конфигурирования блютус адаптера в настройки 1200 бод, паритет even, 7 бит данных, стоп бит 1.Среди известных мне прошивок, в режиме 7 бит данных и паритетом even, может работать только НС-05.Для этого нужно просто перевести модуль в even, а 7 бит данных переведется автоматом, с 8 бит.Но как уже говорил выше не возможно с помощью AT команд перевести его на скорость 1200 бод.Вообщем решил с наскоку осилить программирование CRS микроконтроллеров, не получилось пока.Нашел книгу азов программирования AVR микроконтроллеров, начал читать.Вообщем понял, что у тех и у других гарвардская архитектура , то есть память делится на три вида: память программ(Flash), оперативная память(RAM), энергонезависимая память(ROM), у каждой 8-разрядной ячейки памяти есть свой адрес, с помощью которого можно производить операции с ней не зависимо от типа памяти.8 разрядные ячейки могут объединятся в 16 разрядные.Вообщем не углубляясь дальше, могу сказать, что настройки UART(параметры передачи данных) записываются в виде Адрес(регистр)=Ключ.Например с помощью программы PSTool можно менять всевозможные настройки модуля, но 7 бит данных я там не нашел, видимо в памяти записано больше ключей чем их может изменить программа.Можно делать дамп ключей в виде текстового файла.Вот отрывок:

// PSKEY_BDADDR
&0001 = 0050 30f5 0031 98d3
// PSKEY_COUNTRYCODE
&0002 = 0000// North America and Europe
................................................................
................................................................
// PSKEY_UART_BAUDRATE
&01be = 0005// 1200 kbaud
// PSKEY_UART_CONFIG_BCSP
&01bf = 0806
// PSKEY_UART_CONFIG_H4
&01c0 = 08a8
// PSKEY_UART_CONFIG_H5
&01c1 = 1806
// PSKEY_UART_CONFIG_USR
&01c2 = 08a8
// PSKEY_UART_TX_CRCS
&01c3 = 0001
// PSKEY_UART_ACK_TIMEOUT
&01c4 = 00fa
// PSKEY_UART_TX_MAX_ATTEMPTS
&01c5 = 0000
// PSKEY_UART_TX_WINDOW_SIZE
&01c6 = 0004
// PSKEY_UART_HOST_WAKE
&01c7 = 0004 01f4 000a 0000
// PSKEY_HOSTIO_THROTTLE_TIMEOUT
&01c8 = 0003 0d40
// PSKEY_PCM_ALWAYS_ENABLE
&01c9 = 0000// False
// PSKEY_UART_HOST_WAKE_SIGNAL
&01ca = 0000
// PSKEY_UART_CONFIG_H4DS
&01cb = 08a8
// PSKEY_H4DS_WAKE_DURATION
&01cc = 0020
// PSKEY_H4DS_MAXWU
&01cd = 0032
// PSKEY_H4DS_LE_TIMER_PERIOD
&01cf = 00fa
// PSKEY_H4DS_TWU_TIMER_PERIOD
&01d0 = 00fa
// PSKEY_H4DS_UART_IDLE_TIMER_PERIOD
&01d1 = 0032
// PSKEY_PCM_SLAVE_PROVIDE_CLOCK
&01e5 = 0000// False
&01eb = 0004
&01ec = 0007 a120 0000 01f4 0000 0000
&01ed = 0031
&01f0 = 0000
...................................................................
...................................................................
Проблема была в том, что в настройках PSTool, так же нельзя выбрать скорость 1200 бод.Но сделав дамп ключей, изменив его в ручную, через блокнот и залив его обратно добавляет новую скорость в список ключей.
bassizlink
Выкладываю Dump настроек.
Siargy
поделитесь прошивкой для HC-06 master
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.