6621C以及6621P系列的simple工程蓝牙通信流程

徽信管理团队 · 762次点击 · 2023-08-04

simple服务流程整理

下面的格式是通过  文件-->函数的方式表达的,比如app_simple_server--->,app_simple_server_init代表app_simple_server_init函数是在app_simple_server.c文件内。


初始化部分

app_simple_server--->,app_simple_server_init //这个是环境变量初始化

app_simple_server--->,app_simple_server_add_service //这个是添加服务的初始化操作

simple_server--->, simple_server_init //该服务的数据库相关内容初始化

simple_server_task--->, simple_server_task_init //通信的回调函数进行注册

连接操作

simple_server--->,simple_server_create //连接后底层会根据此前添加的服务自动创建该服务

app_simple_server--->, app_simple_server_enable_prf //使能这个服务

simple_server_task--->,simple_server_enable_req_handler //使能后会进入对应的回调,也可以通过回调查看通知属性的配置


//其实客户正常关注的是读、写、通知、指示这些操作,所以可以重点看一下这些操作,这些操作基本上都在我们的xxx_task.c文件内的。其中xxx代表某个服务名称。

写操作
simple_server_task--->, gattc_write_req_ind_handler
bf0c599ab987fa42a73686ec94eaa6b0.pngbf0c599ab987fa42a73686ec94eaa6b0.pngimage.png

读操作
simple_server_task--->,gattc_read_req_ind_handler
a1334d6ae13c3f4a6fbb2e6f5cea6997.pngimage.png

通知和指示操作
我们用nrf connect这个软件使能通知和指示功能的时候,主机会先下发一个写的指令,该指令同样会进入simple_server_task--->, gattc_write_req_ind_handler中,在该函数内,操作对应的属性,并将其使能或者去使能就可以了。
ccd57eec93c976cd1d1459b61f036c34.pngimage.pngimage.png

 image.png

image.png
ded3b5edcb9562c9d0d1a2cd1bf0a3a7.png

dd9a35aa8544a33dea6c9e87a71328a6.png

断开连接操作

simple_server_cleanup //断开连接后底层会自动清除该服务
app_simple_server_disable_prf //同时我们应用层也会去使能该服务


被收藏 1  ∙  0 赞  
加入收藏
点赞
0 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站