<BLE>CC2540主机事件回调函数
来源:互联网 发布:剑三明教脸型数据 编辑:程序博客网 时间:2024/05/17 03:23
CC2540的主机程序为我们提供了事件回调函数,即static void simpleBLECentralEventCB( gapCentralRoleEvent_t *pEvent ),所谓的回调函数是在GAP状态发生改变时调用,用来对GAP初始化、设备发现、设备连接、断开连接等事件进行处理。该函数是在设备初始化阶段注册的。
我们跟踪simpleBLERoleCB进行查看:
也就是在这个事件处理的过程中一共注册了两个回调函数,分别是RSSI回调和事件回调。我们主要看事件回调函数。
回调函数采用switch语句实现,现在我们对他的各个情况进行分析。
1、GAP_DEVICE_INIT_DONE_EVENT
初始化完成事件,它是在GAPCentralRole_StartDevice初始化完成后执行的:
2、GAP_DEVICE_INFO_EVENT:
第一个if语句开启UUID过滤器。第二个if语句在接收到的pEvtData中查找SIMPLEPROFILE_SERV_UUID,如果查找到就保留地址和类型。需要提醒的一点是在这个函数后面我们也可以提取pEvtData中的其他数据。比如可以把一些数据放到广播中发出来,然后再这个地方进行接收。这就免去了连接的麻烦。
3、GAP_DEVICE_DISCOVERY_EVENT:
在第一个if语句中,如果没有开启UUID的过滤器,就把底层接收到到的消息传到列表中。消息中包含着从机的地址、类型、数据信息等。下面的代码是在LCD中显示。
4、GAP_LINK_ESTABLISHED_EVENT:
如果设备连接成功,那么就把参数改成设备连接成功的参数并且如果句柄值没有读到过,则进行发现服务事件。如果连接失败,就把连接参数改为空闲的状态。
5、GAP_LINK_TERMINATED_EVENT
连接参数全部设为空闲时的值。
6、GAP_LINK_PARAM_UPDATE_EVENT
进行参数更新,在GAPCentralRole_UpdateLink函数执行后调用。
- <BLE>CC2540主机事件回调函数
- <蓝牙BLE>cc2540主机获取数据包
- <蓝牙BLE>cc2540主机读RSSI值
- 【BLE】CC2541之回调函数
- <BLE>CC2540主机获取各个从机广播
- C#回调函数,事件
- <BLE>主从切换回调函数的小实验
- CC2540 BLE开发笔记
- TI CC2540 BLE
- BLE CC2540之ADC
- BLE:CC2540学习笔记
- 回调函数、消息和事件例程
- 回调函数、消息和事件例程
- C#委托,事件与回调函数
- 关于回调函数,事件模型
- C#委托,事件与回调函数
- C#委托,事件与回调函数
- 入门 委托、事件和回调函数
- OSI七层模型与TCP/IP模型
- chown chgrp chmod
- c语言 翻译密码
- 控制mysql的查询优化
- java设计模式之行为型模式-策略模式
- <BLE>CC2540主机事件回调函数
- 单链表进行归并排序
- Axure制作ipad原型
- MyBaits-快速入门
- Leetcode 12. Integer to Roman
- android自定义适配屏幕的ImageView
- 为了诗意的苟且又有何妨?
- 程序源弃坑之路6(java)
- 从c++到java的简单过渡