STM32WBA55CG是一款功能强大的无线微控制器,很荣幸可以入围本次Let's Do!STM32WBA55无线MCU开发大作战活动,感谢电子产品世界和意法半导体的信任和期待。
先从BLE的配置开启STM32WBA55CG的无线之旅吧。
一、关于BLE主机和从机模式
(一)BLE主机模式
定义:
BLE主机模式是指设备在蓝牙通信中作为主动发起连接和请求数据的角色。
功能:
负责扫描周围的BLE设备,接收这些设备发送的广播信息。
根据广播信息中的设备名称、物理地址等信息,选择并决定要连接的设备。
向选定的BLE从机设备发送连接请求,并等待从机设备的响应。
一旦连接建立成功,主机设备可以与从机设备进行数据交换,包括读、写、订阅等操作。
应用场景:
智能手机、平板电脑等移动设备通常作为BLE主机设备,用于连接和控制各种BLE从机设备,如智能手环、智能家居设备等。
(二)BLE从机模式
定义:
BLE从机模式是指设备在蓝牙通信中作为被动等待连接和响应数据请求的角色。
功能:
定期进行蓝牙广播,发送包含自身信息的广播包,以便主机设备能够发现它。
等待主机设备的连接请求,并在接收到请求后进行验证和响应。
如果同意建立连接,与主机设备建立蓝牙通信链路。
在数据交换过程中,作为从机设备,根据主机设备的请求发送或接收数据。
应用场景:
智能手环、心率监测器、智能家居传感器等设备通常作为BLE从机设备,它们通过广播自身信息并等待主机设备的连接来控制或监测。
二、从机配置
1、确保STM32CubeMX中STM32WBA软件包已安装
最新版本是1.4.1,但是好像1.4.0更稳定些
2、选择NUCLEO-WBA55CG开发板
bsp的驱动暂时不选了,保证完全从0开始配置。
3、STM32_WPAN是灰色的
STM32_WPAN是STM32微控制器的一个扩展模块或功能集,它支持多种无线通信技术,如蓝牙低功耗(Bluetooth Low Energy,简称BLE)、Zigbee、Thread等。
将鼠标移动到STM32_WPAN会弹出提示,可以看出需要配置RF,还有CRC,随着配置的深入,MX还会一步步提示其他的前提条件。
4、RCC(RF配置前提条件)
高速时钟和低速时钟都选择外部时钟
5、配置RF(STM32_WPAN配置前提)
6、配置RTC(STM32_WPAN配置前提)
7、配置ADC(BLE配置从机的前提)
8、配置CRC(BLE配置从机的前提)
9 、配置RAMCFG(BLE配置从机的前提)
10、配置RNG(BLE配置从机的前提)
11、BLE配置为从机
12、配置USART(BLE Platform Settings配置前提)
13、配置BLE Platform Settings
14、配置BLE广播
广播名称:STM32_EEPW
15、BLE添加一个服务
16、配置SERVICE1
17、为SERVICE1增加特征
特征配置为可写
18、配置ICACHE
19、配置DEBUG
不配置DEBUG,再次烧录时可能不认开发板
20、时钟图
21、Project Manager->Advanced Settings配置
22、GENERATE CODE
软件包选择1.4.0版本,选择1.4.1编译时缺少2个变量定义
23、KEIL配置
keil魔术棒:取消Short enums/wchar勾选。
在Misc Controls 中增加:-fshort-enums
否则编译报错。
24、使设备进入可发现模式
app_ble.c中增加一句
APP_BLE_Procedure_Gap_Peripheral(PROC_GAP_PERIPH_ADVERTISE_START_FAST);
HCI_DISCONNECTION_COMPLETE_EVT_CODE事件后,也增加这一句。
在设备断开连接后进入可发现模式
24、编译烧录
略
如果烧录存在问题,可以先按开发板上的RESET,再点keil的下载按键,然后马上释放RESET。
25、BLE调试助手连接
连接,可以看到1个服务和1个特征