2024-07-02
GR5526 GUI专题(4) - Lvgl字体的位图数组合并转换为bin文件的说明
写技术文章
精选推荐
Ping
在设备被连接后,可以通过开启广播主动连接其它设备,本文基于 ble_app_hrs_rscs_relay例程介绍在连接后如何设置扫描的相关参数,以及扫描后如何连接并注册调用相关逻辑业务。
SDK相关例程如下,可以参考《GR551x HRS RSCS Relay示例手册》文档说明。
Master: SDK_Folder\projects\ble\ble_multi_role\ble_app_hrs_rscs_relay
Slave: SDK_Folder\projects\ble\ ble_peripheral\ble_app_hrs
1. 设置扫描参数
在uesr_app.c中设置扫描参数,其中scan mode需要设置为observer模式,扫描间隔等参数可根据需要修改。
2. 开启扫描
应用层收到命令(HRRCPS_EVT_SCAN_HRS)后,开启扫描(ble_gap_scan_start)。
3. 停止扫描
扫描到目标设备后,注册处理函数(app_adv_report_handler),通过UUID等信息判断到目标设备后,停止扫描(ble_gap_scan_stop),获取设备地址等信息。
4. 连接至目标设备
停止扫描后,注册函数(app_scan_stop_handler),向扫描到的设备发起连接。
5. 发现相关服务
连接设备后,需要注册函数(app_connected_handler)来发现相关服务。
6. 执行应用层相关指令
服务发现成功后,即可注册相关应用处理函数。
7. 业务层实现方法
扫描连接后,发现相关服务的函数需要在profile中实现,以本示例工程的hrs服务发现为例,发起连接后调用hrs_c_disc_srvc_start来发现hrs服务。
本示例工程中,发现服务后,将会调用hrs_c_evt_process函数来实现命令发送与返回,例如6小节示例代码中HRS_C_EVT_DISCOVERY_COMPLETE发现服务成功后发送对应command id使能hrs设备。
hrs_c.c中定义了相关服务的UUID逻辑处理和数据解析函数, 用户可以参考att_uuid_t的结构定义私有的UUID列表,以实现私有服务的数据解析。
打开微信,使用“扫一扫”即可关注