创建BLE工程不成功之后看了官方WiKi和一些网友的分享,这里再梳理一遍。使用Nucleo-WB09KE开发板。 首先会想到开启Radio外设,CubeMX比较人性化的一点就是灰色不可操作时有对应的提示,比如下图5 O* @6 F x- B 看到这里就知道首先要开启TIMER,那么就先使能RADIO TIMER。 如果开始没有配置过RCC使用外部时钟,这里就看不到提示了。HSE和LSE都选上然后时钟树页面修改下源0 A* \ J- d8 ?" M6 @9 V0 X 开启RADIO后,会弹出一个提示,Radio中断必须最高优先级,事实上已经默认是0了。' W0 x) N, s7 c# {' Q 并且在开启RADIO时有提醒,是引脚复用的提醒。可以把LED和按键这些外设默认配置取消能消除警告 除此之外还提示要开启PKA, V: X; `2 E+ ~% M* a! _! c 然后就可以使能BLE外设配置了。选择外设和GATT服务应用,填充本地名,就是服务端广播的名字,默认。: y" j7 g5 H$ [$ v' Y [0 w. H, q O 保存配置和编译工程,然后发现有个错误提示 需要开启RNG功能,还有一点需要手动添加开启服务的程序,在app_ble中已经生成代码,添加到app_init函数内,重新编译后运行,用手机搜索下蓝牙可以看到 开启调试信息需要配置串口和使能协议栈的配置选项,如下 串口最好开启DMA。然后运行程序可以看到打印信息了。 后面再研究下用手机app点灯。+ i# n* F/ O. w( O$ ?' n8 e, I4 ] $ s" A5 D0 ~. ]- g& Q6 I7 t4 l |
STM32WBA55上手BLE点灯
使用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的使用