目标
其实对于用STM32CubeMX从头配置工程,我是抗拒的,因为之前被它折腾得太惨。每次用MX开启一个新的工程,感觉就像一次新的历险。
还好NUCLEO-WB09KE的配置不用考虑mpu、xspi、EXTMEM_MANAGER等等拦路虎,感觉有得搞,并且前面大佬已经成功配置过了。
那还等什么开干。
一、配置
我尽量贴的详细些
1、RCC:一定要重视RCC
这里选择了HSE、LSE,这意味着高速晶振和低速晶振都用是外部晶振。所以HSI、LSI就不要在时钟配置中做为时钟来源,否则肯定是不起振的。
时钟图:要和RCC对应上
2、SYS配上吧
3、RADIO_TIMER
配置WIN32_BLE时有提示RADIO_TIMER需要先配置。参数默认不做修改。
4、RADIO
配置原因同上
二、程序
1、printf重定向要实现,略
2、main() --->while(1)好像要手工加入:
MX_APPE_Process();
3、加上BLE控制LD3(PB2)的功能
Application/User/STM32_BLE/App下,led_service_app.c
找到LED_SERVICE_LED_TOGGLE_WRITE_EVT,在后面加控制PB2和打印输出的代码
case LED_SERVICE_LED_TOGGLE_WRITE_EVT:
/* USER CODE BEGIN Service1Char1_WRITE_EVT */
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_2);
APP_DBG_MSG("LED_SERVICE_LED_TOGGLE_WRITE_EVT\r\n");
/* USER CODE END Service1Char1_WRITE_EVT */
break;
三、效果
1、BLE调试助手操作
发现蓝牙WB09
2、NUCLEO-WB09KE收到任意写给特征值LED_TOGGLE的操作,都会触发打印如下日志,并且PB2翻转。
补充内容 (2024-10-6 14:42): app_ble.c中540行左右可能需要自己加一下: /* USER CODE BEGIN APP_BLE_Init_4 */ APP_BLE_Procedure_Gap_Peripheral(PROC_GAP_PERIPH_ADVERTISE_START_FAST); /* USER CODE END APP_BLE_Init_4 */ 补充内容 (2024-10-6 14:42): 调试器下载需要注意: Debug->Connect:Normal 不要选under Reset,否则STLINK无法正常工作 本帖最后由 sujingliang 于 2024-9-26 15:23 编辑