51822 主从机分析2
来源:互联网 发布:淘宝开店 工商注册 编辑:程序博客网 时间:2024/05/17 01:13
解决第三个问题:如何使能从机上的特征值的notify功能,使其能通过notify方式发送数据
使能从机的notify功能是通过写0x0001到从机的那个具有notify功能的特征的CCCD描述符中来实现的。既然要写那就要先有服务发现过程,服务发现就是找到从机里我们需要的服务以及下面的特征值,描述符等。
因为服务发现过程SDK已经做好了,我们不需要去处理,我们要做的就是注册自己需要找的那个服务,该服务只包含一个具有notify功能的特征值,以用来发送数据给主机,可以再从机的service_init函数中看到,
对于主机端来说,主机端只要找到我们需要的服务以及它下面的那个具有notify功能的特征值和CCD就可以了,然后直接写0x0001到CCCD,就使能从机的notify功能了
前面说到主机工程中的SDK已经做好了服务发现的相关流程,也就是主从连接上从机后会自动开始查找从机里面我们需要的服务,特征值等信息,所以我们需要做的就是直接指明自己想要找的那个服务就行,SDK提供的机制就是注册机制,也就是SDK在执行完服务发现过程前会有个初始化,在这个初始化中注册自己想要的服务,以及对应的回调处理函数。之后会自动进行服务查找,并且查到会调用之前注册的回调函数
所以最终当主机连接完成后,主机执行服务发现过程中,开始查找我们调用ble_db_discovery_evt_register函数注册过要找的服务,当找到了从机上的而服务,然后调用
一同注册回调函数db_discovery_evt_handler.
再来看一下这个回调函数的实现:
回调函数的目的就是找到从机上那个服务下面的具有notify特性的特征值,并且记录下是第几个,然后调用写函数,写特征值 附属描述符CCCD来实现使能notify功能,
- 51822 主从机分析2
- 51822 主从机分析1
- nrf51822-主从通信分析2
- Redis主从同步分析
- Redis主从同步分析
- Seconds_Behind_Master分析主从延迟
- Redis主从同步分析
- Redis主从同步分析
- Mysql主从机配置2
- Redis源码分析:主从复制
- 源码分析:redis主从复制
- Redis主从同步分析<转>
- Redis主从实现原理分析
- Redis源码分析:主从复制
- mysql主从同步延迟分析
- Redis主从复制机制分析
- nrf51822-主从通信分析1
- mysql主从复制原理分析
- java环境变量之最简单配置
- 让spring boot支持https和http
- VC++学习笔记 4
- 记录下ubuntu14.04下创建matlab和pycharm桌面
- 深入理解javascript原型和闭包(13)-【作用域】和【上下文环境】
- 51822 主从机分析2
- ScrollBar的使用
- Android ButterKnife配置使用
- 自己一人如何去做一个web项目
- DVB信道编解码与调制解调
- sql sever 编写函数案例
- python中文处理
- oracle查询:分组查询,取出每组中的第一条记录
- 双系统中,ubuntu系统下无法打开WIN10系统中的其他盘查看文件的解决办法