|
上次创建完工程,留了个点灯的尾巴,这次给完成。 在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,一时没找到原因。 |
速看!STM32CubeIDE for Visual Studio Code预发布版全面整合至正式版,完成重大升级
速看!STM32CubeIDE for Visual Studio Code预发布版全面整合至正式版,完成重大升级
【评论有奖】STM32CubeIDE 2.0版本要来了
【NUCLEO-WBA65RI评测】围绕BleApplicationContext_t的端侧蓝牙开发逻辑
STM32入门系列-学习STM32要掌握的内容
【NUCLEO-WBA65RI评测】Android Studio手机端蓝牙开发
【NUCLEO-WBA65RI评测】6.手机蓝牙控制电机运动
STM32CubeIDE 实用技巧之条件断点的妙用
【NUCLEO-WBA65RI评测】Android端蓝牙OTA升级
【NUCLEO-WBA65RI评测】USB HID设备测试
微信公众号
手机版
Solved: Re: Naming BLE service on STM32WB - STMicroelectronics Community