CC2541 BLE上层架构

来源:互联网 发布:姑获鸟之夏结局知乎 编辑:程序博客网 时间:2024/04/30 03:49

BLE架构上层有两个基础的服务就是 GAP和GATT,这个跟android的framework相似,系统提供服务,用户调用接口,设置回调,填充参数就可以完成整个连接和传输数据。

1、GAP

gapRole 就是调用GAP里的服务来实现如设备或中心之类的角色,其中常用的就有GAP Peripheral Role 也就是peripheral.c文件实现。

peripheral.c里替用户处理很多必要的消息和操作,这使用户只要填充几个参数就可以进行广播。


2、GATT

simpleGATTprofile实际上是调用GATT服务,或者说注册了数据,用于字节或数组的通信,实际通信过程还是由GATT服务(GATT Task)来完成,只是填什么数据就用SetParameter来完成,收数据就用simpleProfile_WriteAttrCB中的回调:

simpleProfile_AppCBs->pfnSimpleProfileChange( notifyApp ); 。



3、simpleBLEPeripheral.c就是集合全部功能的实际应用了,包括按键处理、广播、处理数据。

SM和BOND因为还没用到,日后用到分析补上。


0 0