概述
本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过手机APP与其连接。
硬件准备
首先需要准备一个开发板,这里我准备的是NUCLEO-WB55RG 的开发板:
源码下载
https://download.csdn.net/download/qq_24312945/85049386
选择芯片型号
配置时钟源
HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用外置的时钟源,故都选择Crystal/Ceramic Resonator选项,如下所示:
配置时钟树
查看开启STM32_WPAN条件
可以看到,需要开启RF、RTC、RCC、IPCC、HSEM。
配置HSEM
硬件信号量(HSEM)模块用于管理多个进程之间共享的访问权限和资源同步。
资料下载链接:https://www.stmcu.jp/wp/wp-content/uploads/files/presentation-ja/STM32WB/17_STM32WB-System-Hardware-Semaphore-(HSEM)_J.pdf 开启HSEM如下。
配置IPCC
通信控制器(IPCC)模块的主要用于cpu之间的信号消息交换。
配置RTC
启动RF
配置USART
我们需要串口来打印数据,以方便我们查看信息。 查看原理图可以的是PB6和PB7与ST_Link链接在一起,且为串口打印端口。 开启DMA。
开启中断。
开启STM32_WPAN
无线个人区域网(wireless personal area network)。 由于我们使用的是蓝牙,故勾选BLE。 配置自定义模板。
设置串口1跟踪。 关闭MX_USART1_UART_Init函数的生成。
启用串口1的tx的DMA。 启动串口1调试跟踪。
启用应用程序中的跟踪 。
设置蓝牙名称,名称为MY_BLE_DEV。
设置服务器配置。
设置特征名称。
使能特征值读取。
关闭GATT事件的返回。
设置RTC和RF的时钟。
设置工程信息
工程文件设置
Keil工程配置
代码配置
在main.c中添加如下头文件。
/* USER CODE BEGIN Includes */
#include "stm32_seq.h"
/* USER CODE END Includes */
UTIL_SEQ_Run(UTIL_SEQ_DEFAULT)函数应该在应用程序的while循环中,启动任务调度。
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
MX_APPE_Process();
/* USER CODE BEGIN 3 */
UTIL_SEQ_Run(UTIL_SEQ_DEFAULT);
}
/* USER CODE END 3 */
}
在app_entry.c中添加初始化 APPD_Init()。
void MX_APPE_Init( void )
{
System_Init( ); /**< System initialization */
SystemPower_Config(); /**< Configure the system Power Mode */
HW_TS_Init(hw_ts_InitMode_Full, &hrtc); /**< Initialize the TimerServer */
/* USER CODE BEGIN APPE_Init_1 */
APPD_Init();
/* USER CODE END APPE_Init_1 */
appe_Tl_Init(); /* Initialize all transport layers */
/**
* From now, the application is waiting for the ready event ( VS_HCI_C2_Ready )
* received on the system channel before starting the Stack
* This system event is received with APPE_SysUserEvtRx()
*/
/* USER CODE BEGIN APPE_Init_2 */
/* USER CODE END APPE_Init_2 */
return;
}
结果演示
下载完程序后,可以看到串口打印固件版本等信息。 打开ST BLE ToolBox软件(APP在群内有615061293),可以看到该蓝牙已经可以搜索到。
点击connect进行连接。 连接之后可以看到串口打印了连接事件。
同时手机也显示该蓝牙模块连接成功。
源码下载
https://download.csdn.net/download/qq_24312945/85049386
审核编辑:汤梓红
-
蓝牙
+关注
关注
114文章
5884浏览量
171419 -
BLE
+关注
关注
12文章
671浏览量
59655 -
stm32cubemx
+关注
关注
5文章
284浏览量
15128
发布评论请先 登录
相关推荐
STM32WB55_NUCLEO开发(9)----接收手机数据点亮LED
![<b class='flag-5'>STM32WB55_NUCLEO</b><b class='flag-5'>开发</b>(9)----接收<b class='flag-5'>手机</b>数据点亮LED](https://file.elecfans.com/web2/M00/7A/6C/pYYBAGNt6D2Aa5lOAAe9ooFYepE929.jpg)
为什么无法在STM32WB55 BLE服务器上发现GATT服务?
STM32WB55在RT-Thread系统上移植官方蓝牙BLE功能
![<b class='flag-5'>STM32WB55</b>在RT-Thread系统上移植官方蓝牙<b class='flag-5'>BLE</b>功能](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32CubeMX Nucleo F767ZI 教程(2)
![<b class='flag-5'>STM32CubeMX</b> <b class='flag-5'>Nucleo</b> F767ZI 教程(<b class='flag-5'>2</b>)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
stm32wb55 基于rtt的ble sample制作过程
![<b class='flag-5'>stm32wb55</b> 基于rtt的<b class='flag-5'>ble</b> sample制作过程](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32WB55_NUCLEO开发(5)----手机与STM32WB通过键入密钥配对
![<b class='flag-5'>STM32WB55_NUCLEO</b><b class='flag-5'>开发</b>(5)----<b class='flag-5'>手机</b>与<b class='flag-5'>STM32WB</b>通过键入密钥配对](https://file.elecfans.com/web2/M00/7A/6C/pYYBAGNt6D2Aa5lOAAe9ooFYepE929.jpg)
STM32WB55_NUCLEO开发(6)----手机与STM32WB通过配对后进行数值比较
![<b class='flag-5'>STM32WB55_NUCLEO</b><b class='flag-5'>开发</b>(6)----<b class='flag-5'>手机</b>与<b class='flag-5'>STM32WB</b>通过配对后进行数值比较](https://file.elecfans.com/web2/M00/7A/6C/pYYBAGNt6D2Aa5lOAAe9ooFYepE929.jpg)
AN5816 如何使用STM32CubeMX构建STM32 LPBAM应用程序
![AN5816 如何使用<b class='flag-5'>STM32CubeMX</b>构建<b class='flag-5'>STM32</b> LPBAM<b class='flag-5'>应用程序</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32WB55RG开发(3)----生成 BLE 程序连接手机APP
![<b class='flag-5'>STM32WB55</b>RG<b class='flag-5'>开发</b>(3)----<b class='flag-5'>生成</b> <b class='flag-5'>BLE</b> <b class='flag-5'>程序</b><b class='flag-5'>连接手机</b><b class='flag-5'>APP</b>](https://file1.elecfans.com/web3/M00/02/75/wKgZPGdf2H-AEoxXAAYYCxH3dnU800.png)
评论