Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/117: Рейтинг темы: голосов - 117, средняя оценка - 4.91
Foxik

Bluetooth HC-06[STM32F103RBT6]

05.10.2014, 13:11. Показов 23256. Ответов 44
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Начал подключать Bluetooth HC-06 к STM32F103RBT6. Подключил правильно, по дефолтовым настройкам, АТ командами в отдельном коде на всякий случай выставил 9600boud чтоб уж наверняка. Пробую слать в USORT блютуз в терминал ничего не шлет(Но блютуз точно работает,потому что если подключить FTDI к компьютеру и слать с компьютерного терминала в блютуз то данные идут. ОДнако с МК ничего не шлется) Приложил простейший код.
P.S. Через FTDI контроллер шлет в терминал!
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
void GPIO_Confikurotion(void)
{
RCC->APB2ENR|= (RCC_APB2ENR_IOPAEN|RCC_APB2ENR_AFIOEN);
 
//USORT1_TX(PA9)
GPIOA->CRH |= (GPIO_CRH_CNF9_1|GPIO_CRH_MODE9_0);
 
//USORT1_RX(PA10)
GPIOA->CRH |=GPIO_CRH_CNF10_0;
GPIOA->CRH &= ~GPIO_CRH_CNF10_1;
GPIOA->CRH &= ~GPIO_CRH_MODE10;
}
 
void USORT_Confikurotion(void)
{
RCC->APB2ENR|= RCC_APB2ENR_USORT1EN;
 
USORT1->CR1 = 0x0000;
USORT1->CR1 |= (USORT_CR1_UE|USORT_CR1_RE|USORT_CR1_TE);
USORT1->BRR = 0xB65;
}
 
int main(void)
{
SYSCLK_Confikurotion();
GPIO_Confikurotion();
USORT_Confikurotion();
 
while(1)
{
while(!(USORT1->SR & USORT_SR_TC));
USORT1->DR=H;
}
 
}
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.10.2014, 13:11
Ответы с готовыми решениями:

Работа с STM32F103RBT6 (начало)
Доброго времени суток. Давно хотел заняться программированием микроконтроллеров, и наконец решился и купил себе следующие железки: 1 -...

Программный SPI на stm32f103rbt6
Уважаемые форумчане! Прошу помочь по соответствующему вопросу. Имеется некая плата с микроконтроллером stm32f103rbt6, необходимо...

STM32F103RBT6 - заводской бутлоадер
Купил данную микруху, спаял плату, подключаюсь на USORT1 (PA9, PA10), передаю 0x7F в режиме 8E1 и ... нифига :( TX контроллера в High-Z и...

44
0 / 0 / 0
Регистрация: 13.04.2013
Сообщений: 90
05.10.2014, 22:17
Студворк — интернет-сервис помощи студентам
Что-то напутано с частотой - FTDI автоматически подстраивается под байт (на прием), поэтому СТМ с FTDI "вяжется". Осциллографа, как я понял, нет? Подтяжка к плюсу (резистор 1-10к) присутствует?
Метод решения: соеденить TX и RX от FTDI (терминал компьютера) с HC-06, проверить работоспособность, затем дополнительно подключить RX STM32 к TX FTDI, в дебаггере поставить брекпоинт на обработку пришедшего байта и посмотреть, что пришло.
0
Foxik
05.10.2014, 22:25
Цитата Сообщение от imbidd
Что-то напутано с частотой - FTDI автоматически подстраивается под байт (на прием), поэтому СТМ с FTDI "вяжется". Осциллографа, как я понял, нет? Подтяжка к плюсу (резистор 1-10к) присутствует?
Метод решения: соеденить TX и RX от FTDI (терминал компьютера) с HC-06, проверить работоспособность, затем дополнительно подключить RX STM32 к TX FTDI, в дебаггере поставить брекпоинт на обработку пришедшего байта и посмотреть, что пришло.
Спасибо что вы пытаетесь помочь, но если честно дико устал от людей которые не внимательно читают сообщения выше. Ваш метод (кроме идеи с дебаггером) уже сотню раз опробован
0 / 0 / 0
Регистрация: 25.09.2014
Сообщений: 200
06.10.2014, 06:18
если используете Olimex H103 то все должно быть нормально с пайкой и питанием контроллера, пара дополнительных вопросов:
1) откуда запитываете блютус модуль и каким напряжением
2) какие пины блютус модуля подключаются к плате контроллера (например Rx блютуса - PA10 МК, Vcc блютуса - 3.3V МК, GND блютуса - GND мк), причем то, что не подключено к МК напрямую, например блютус питается от компа, от тех же 5V на USB - это уже отдельная тема, опишите отдельно (то есть это не считается прямым подключением GND блютуса к GND МК)
3) когда вы подключали лог анализатор к плате МК, вы подключались только одним считывающим пином или так же подключали землю с платы МК к анализатору (несмотря на общую землю по USB)
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
06.10.2014, 16:06
Цитата Сообщение от Foxik
Тактовая частота контроллера 28MHz
Это как это? :))))
0
0 / 0 / 0
Регистрация: 25.09.2014
Сообщений: 200
06.10.2014, 18:21
Это как это? :))))
достаточно просто, интереснее зачем это =)
0
Foxik
07.10.2014, 00:38
[QUOTE="ptiryks"][QUOTE="Цитата:[/QUOTE]
Это как это? :))))
достаточно просто, интереснее зачем это =)
Для моего проекта требовалась максимальная частота которую можно выжать из 103 его контроллера при помощи PLL. Все эти извращения для того чтобы уменьшить время выборок ADC.

В Общем проблема с блютузом решена. Как выяснилось на двух отладочниках Olimex был паршивый модуль Юарт. Видимо уже достаточно сильно загнаный в предыдущих проектах. Купил STM32F429I Dysco, тот же самый код( с поправкой на GPIO) прекрасно заработал. Взял у знакомого такую же Olimex новую и на ней тоже все прекрасно заработало!Всем спасибо!
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
07.10.2014, 10:01
Цитата Сообщение от Foxik
Как выяснилось на двух отладочниках Olimex был паршивый модуль Юарт.
Это как это ?
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
07.10.2014, 13:04
Цитата Сообщение от dosykus_2
Цитата Сообщение от Foxik
Тактовая частота контроллера 28MHz
Это как это? :))))
Цитата Сообщение от Foxik
Для моего проекта требовалась максимальная частота которую можно выжать из 103 его контроллера при помощи PLL. Все эти извращения ...
Вот уж действительно извращения. Штатная рабочая частота этого МК 72 МГц, даже "выжимать" ничего не надо, достаточно стандартного SystemInit. ;-)
0
Foxik
08.10.2014, 23:59
Цитата Сообщение от OtyxPM
Цитата Сообщение от dosykus_2
Цитата Сообщение от Foxik
Тактовая частота контроллера 28MHz
Это как это? :))))
Цитата Сообщение от Foxik
Для моего проекта требовалась максимальная частота которую можно выжать из 103 его контроллера при помощи PLL. Все эти извращения ...
Вот уж действительно извращения. Штатная рабочая частота этого МК 72 МГц, даже "выжимать" ничего не надо, достаточно стандартного SystemInit. ;-)

Во первых данная штатная частота достигается при помощи PLL, так как внутренний кварц 8MHz, а внешним я не имел возможности пользваться. Во вторыых я редко пользуюсь стандартными библиотеками, для меня намного проще полистать даташит
Foxik
09.10.2014, 00:00
Цитата Сообщение от dosykus_2
Цитата Сообщение от Foxik
Как выяснилось на двух отладочниках Olimex был паршивый модуль Юарт.
Это как это ?
Если долго гонять на плате Юарт не такое случается
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
09.10.2014, 02:57
Цитата Сообщение от Foxik
Во первых данная штатная частота достигается при помощи PLL
Надо же, мы и не знали об этом. Вот ведь, век живи - век учись.
Спасибо за информацию о PLL.

Цитата Сообщение от Foxik
Во вторыых я редко пользуюсь стандартными библиотеками, для меня намного проще полистать даташит
Главное - чтобы результат был. А он налицо :-)
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
09.10.2014, 09:25
Цитата Сообщение от Foxik
Если долго гонять на плате Юарт не такое случается
Я скорей поверю в запоротые пины UART, чем в "загнанный" UART...
0
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 333
09.10.2014, 09:47
При помощи PLL легко достигается штатная частота 72МГц от встроенного 8МГц генератора, причем это есть не только в наборе библиотек от ST, но даже в даташите.
А UART видимо зверски износил электронами атомные каналы.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
09.10.2014, 13:05
Цитата Сообщение от Tistir500
При помощи PLL легко достигается штатная частота 72МГц от встроенного 8МГц генератора, причем это есть не только в наборе библиотек от ST, но даже в даташите.
Более того, настройка PLL на 72МГц (по умолчанию от HSE, но легко исправляется на HSI) включена в стартапный код, который вообще к библиотекам не относится.
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
09.10.2014, 13:59
Tistir500
При помощи PLL легко достигается штатная частота 72МГц от встроенного 8МГц генератора,
SPL до добра не доводит, читай даташит..
1. When the HSI is used as a PLL clock input, the maximum system clock frequency that can be achieved is
36 MHz
HSI входит на PLL деленная на 2 ...


<Изображение удалено>

Максимальный множитель х9


<Изображение удалено>
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
09.10.2014, 14:11
Цитата Сообщение от Foxik
так как внутренний кварц 8MHz, а внешним я не имел возможности пользваться
Кстати, ещё одна возможная причина проблемы - HSI это не кварц (ТС, Вы же любите листать даташит ;-) ), а RC-генератор, поэтому его частота может быть слишком неточной для надёжной связи с Bluetooth HC-06. Можно померить реальную частоту, которая получилась на выходе STM32.UART и скорректировать её, поменяв соответственно делитель в регистре BRR. Только это всё равно будет нестабильно, лучше поставить внешний кварц.

Не понимаю, чтО значит "нет возможности пользоваться кварцем". Дефицит, что ли? Кварц здесь практически любой подойдёт.
0
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 333
09.10.2014, 17:24
У нас видимо источники разные.
Тут у меня открывается это, на 12 листе схема:

<Изображение удалено>

На ней PLL x16, что дает (8/2)*16 = 64
А вот тут на стр. 93/1128 под этой схемой написано:
When the HSI is used as a PLL clock input, the maximum system clock frequency that can be achieved is 64 MHz.

А RCC_CFGR выглядит так:

<Изображение удалено>
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
09.10.2014, 19:33
Действительно у меня старая ревизия.
Но и 72 заявленных не получить . :)))))
Зато ты даташит научился читать. :))))))))
0
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 333
09.10.2014, 20:08
обычно из них не вылезаю.
0
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
24.10.2014, 23:32
Добрый вечер! Модуль HC-06 поддерживает передачу данных со скоростью 921600 кБит/с?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.10.2014, 23:32

Timer2 STM32F103RBT6 прерывание по захвату
Здрасте всем! Помогите решить задачку! Мне надо по каждому изменению фронта на ноге мк генерировать прерывание, в нем считывать...

stm32f103rbt6(SMT32-H103) USB HID
Доброго дня всем. Такая проблема: Есть плата SMT32-H103, с установленным на ней чипом stm32f103rbt6, есть библиотеки...

Qt Bluetooth, ошибка qt.bluetooth: Dummy backend running. Qt Bluetooth module is non-functional
Начал разбираться с Qt и Bluetooth, для этого запустил пример http://doc.qt.io/qt-5/qtbluetooth-btscanner-example.html. Скомпилил, все...

STM32F103RBT6 SDHC FATFS SPI без DMA
Здравствуйте уважаемые. я редко общаюсь на форуме, так как сам еще зеленый в освоении программирования, соответственно сам иногда нуждаюсь...

Stm32f103rbt6 dev board(aka mini-stm32)
Доброго времени господа! Прошу помощи в поиске документации на вот такую борду http://www.ebay.com/itm/STM32F103RBT6-D ... 27c370b931 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru