创建BLE工程不成功之后看了官方WiKi和一些网友的分享,这里再梳理一遍。使用Nucleo-WB09KE开发板。 首先会想到开启Radio外设,CubeMX比较人性化的一点就是灰色不可操作时有对应的提示,比如下图 看到这里就知道首先要开启TIMER,那么就先使能RADIO TIMER。 如果开始没有配置过RCC使用外部时钟,这里就看不到提示了。HSE和LSE都选上然后时钟树页面修改下源5 q8 K/ L# I9 E" J0 S% e 开启RADIO后,会弹出一个提示,Radio中断必须最高优先级,事实上已经默认是0了。: a, n! B; E- K+ u 并且在开启RADIO时有提醒,是引脚复用的提醒。可以把LED和按键这些外设默认配置取消能消除警告 除此之外还提示要开启PKA 然后就可以使能BLE外设配置了。选择外设和GATT服务应用,填充本地名,就是服务端广播的名字,默认。+ e& X$ _# R' m: ] 保存配置和编译工程,然后发现有个错误提示 s& ^& L' c, J, j& y 需要开启RNG功能,还有一点需要手动添加开启服务的程序,在app_ble中已经生成代码,添加到app_init函数内,重新编译后运行,用手机搜索下蓝牙可以看到 开启调试信息需要配置串口和使能协议栈的配置选项,如下% D- D+ ~. F1 n& p0 c 串口最好开启DMA。然后运行程序可以看到打印信息了。 后面再研究下用手机app点灯。 L' d4 n! }. W 4 z0 q V- m: J5 [8 k |
使用STM32WB系列微控制器构建无线应用
STM32WB基于Custom Template实现客户定制BLE私有协议
STM32 生态系统|基于STM32WB的低功耗蓝牙应用(一)
【NUCLEO-WB09KE评测】BLE创建服务和写特征控制LED
【NUCLEO-WB09KE评测】+使用STM32CubeMX新建蓝牙工程
【NUCLEO-WB09KE评测】BLE例程HeartRate及工具探索
【NUCLEO-WB09KE评测】使用I2C点亮一个OLED
【NUCLEO-WB09KE评测】STM32WB09KE的内部BootLoader使用
【NUCLEO-WB09KE评测】USART的printf和GPIO的使用
【NUCLEO-WB09KE评测】+ 一些坑和点灯仪式