STM32WB55_NUCLEO开发(2)----使用STM32CubeMX 生成的简单 BLE 应用程序连接手机APP
概述
本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过手机APP与其连接。

硬件准备
首先需要准备一个开发板,这里我准备的是NUCLEO-WB55RG 的开发板:

视频教学
听不到声音的请点击跳转进行观看。
https://www.bilibili.com/video/BV17Z4y1z7ng/

源码下载
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之间的信号消息交换。

资料下载链接:https://www.st.com/content/ccc/resource/training/technical/product_training/group0/d3/17/dc/8a/bf/ef/4f/10/STM32WB-System-Inter-Processor-communication-controller-IPCC/files/STM32WB-System-Inter-Processor-communication-controller-IPCC.pdf/jcr:content/translations/en.STM32WB-System-Inter-Processor-communication-controller-IPCC.pdf
开启如下所示。

配置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中添加如下头文件。
UTIL_SEQ_Run(UTIL_SEQ_DEFAULT)函数应该在应用程序的while循环中,启动任务调度。
在app_entry.c中添加初始化 APPD_Init()。
结果演示
下载完程序后,可以看到串口打印固件版本等信息。

打开ST BLE ToolBox软件(APP在群内有615061293),可以看到该蓝牙已经可以搜索到。

点击connect进行连接。
连接之后可以看到串口打印了连接事件。

同时手机也显示该蓝牙模块连接成功。

源码下载
https://download.csdn.net/download/qq_24312945/85049386
最后
以上的代码会在Q群里分享。QQ群:615061293。
或者关注微信公众号『记帖』,持续更新文章和学习资料,可加作者的微信交流学习!
