
概述 本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过手机APP与其连接。 ![]() 硬件准备 首先需要准备一个开发板,这里我准备的是NUCLEO-WB55RG 的开发板: ![]() 选择芯片型号 ![]() 配置时钟源 HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用外置的时钟源,故都选择Crystal/Ceramic Resonator选项,如下所示: ![]() 配置时钟树 ![]() 查看开启STM32_WPAN条件 可以看到,需要开启RF、RTC、RCC、IPCC、HSEM。 ![]() 配置HSEM 硬件信号量(HSEM)模块用于管理多个进程之间共享的访问权限和资源同步。 ![]() 开启HSEM如下。 ![]() 配置IPCC 通信控制器(IPCC)模块的主要用于cpu之间的信号消息交换。 ![]() 开启如下所示。 ![]() 配置RCC ![]() 启动RF ![]() 配置USART 我们需要串口来打印数据,以方便我们查看信息。 查看原理图可以的是PB6和PB7与ST_Link链接在一起,且为串口打印端口。 ![]() ![]() 开启DMA。 ![]() 开启中断。 ![]() 由于我们使用的是蓝牙,故勾选BLE。 ![]() 配置自定义模板。 ![]() 设置串口1跟踪。 ![]() 关闭MX_USART1_UART_Init函数的生成。 ![]() 启用串口1的tx的DMA。 ![]() 启动串口1调试跟踪。 ![]() 启用应用程序中的跟踪 。 ![]() 设置蓝牙名称,名称为MY_BLE_DEV。 ![]() 设置服务器配置。 ![]() 设置特征名称。 ![]() 使能特征值读取。 ![]() 关闭GATT事件的返回。 ![]() 设置RTC和RF的时钟。 ![]() 设置工程信息 ![]() 工程文件设置 ![]() Keil工程配置 ![]() 在main.c中添加如下头文件。
UTIL_SEQ_Run(UTIL_SEQ_DEFAULT)函数应该在应用程序的while循环中,启动任务调度。
在app_entry.c中添加初始化 APPD_Init()。
结果演示 下载完程序后,可以看到串口打印固件版本等信息。 ![]() 打开ST BLE ToolBox软件,可以看到该蓝牙已经可以搜索到。 ![]() 点击connect进行连接。 连接之后可以看到串口打印了连接事件。 ![]() 同时手机也显示该蓝牙模块连接成功。 ![]() 转载自:记帖 如有侵权请联系删除 |
【NUCLEO-WB09KE评测】+3.蓝牙广播
Nucleo-STM32WB09KE测评-蓝牙调试并使用OLED显示数据
【NUCLEO-WB09KE评测】创建BLE工程和开启调试信息
【NUCLEO-WB09KE评测】+2.串口打印
【NUCLEO-WB09KE评测】+5.实现标准电量服务
【NUCLEO-WB09KE评测】BLE例程HeartRate及工具探索
STM32WB系列MCU低功耗测试
Nucleo-STM32WB09KE测评--IIC传感器读取
【NUCLEO-WB09KE评测】+4.蓝牙控制LED
【NUCLEO-WB09KE评测】+1.点灯