
上次创建完工程,留了个点灯的尾巴,这次给完成。 在IOC工程界面添加服务一个服务,会增加一个服务配置的窗口 ![]() 打开SERVER1的配置界面,修改UUID便于手机端辨识,还有Service name。再添加一个特征,也同样修改下UUID和名称,打算控制LED,1个字节的Value就可以。 ![]() 完成以上就可以更新代码了。烧录后在手机APP中搜索到XX-STTM32并连接后查看是否有刚才配置的服务和特征 ![]() 到这里完成了一半。因为此时打开写属性,调试信息里并没有输出任何内容,需要手动添加代码。查找工程,可以看到新增加的BLE App代码文件 ![]() 打开ld2.c文件查找相关内容,函数不多,可以很快定位到该服务的事件处理函数如下 ![]() 从以上代码能够看出收到服务端的写特征数据时会再调用LD2_Notification(¬ification);函数,同时传入notification结构体,我们要提取的数据也在这个结构体里面。所有找到LD2_Notification函数,添加对playload值的提取和点灯代码。
在串口调试助手中也打印出来收到的写特征值。如下 ![]() 不过倒是有个问题,Service name在手机客户端都显示unknow,一时没找到原因。 |
【P-NUCLEO-53L8A1评测】存在检测之动向追踪
STM32
STM32C071RBT6外部中断LED点亮熄灭
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
新版STM32Cube for Visual Studio Code开发体验
【NUCLEO-WB09KE评测】+3.蓝牙广播
【STM32N6570-DK评测】摄像头video encoder
实战经验 | STM32CubeIDE实用技巧之工程联调
【STM32H745I-DISCO】基于TouchGFX的工业控制器界面设计
【下载问题解决】关于ST官网下载软件问题解决
Solved: Re: Naming BLE service on STM32WB - STMicroelectronics Community