蓝牙API分析

一、GATT API

1)GATT服务程序


2)GATT子服务程序

 1、GATT_ReadUsingCharUUID (uint16 connHandle, attReadByTypeReq_t *pReq, uint8 taskId)

通过uuid来读取特征值,可以外设返回数据会在主设产生一个ATT_READ_BY_TYPE_RSP回应,可以在里面获取相应数据。


 2、GATT_ReadCharValue (uint16 connHandle, attReadReq_t *pReq, uint8 taskId)

通过handle获取characteristic的value值。attReadReq_t参数中需要填充handle值

resp:

作为外设的回应,主设这边会受到一个ATT_READ_RSP或者ATT_ERR_RSP,回应的结构包含句柄以及attribute的值。

对应回应的结构

typedef struct
{
  uint8 numPairs;                 //!< Number of attribute handle-UUID pairs found
  uint8 len;                      //!< Size of each attribute handle-value pair
  uint8 dataList[ATT_MTU_SIZE-2]; //!< List of 1 or more attribute handle-value pairs
} attReadByTypeRsp_t;


3 bStatus_t GATT_ReadMultiCharValues(uint16 connHandle,attReadMultiReq_t *pReq,uint8 taskId)

读取多个特征值,需要在attReadMutiReq_t中填充多个需要读取的handle值


4 bStatus_t GATT_WriteCharValue (uint16 connHandle, attWriteReq_t *pReq, uint8 taskId) 

根据对应handle值写入特征值,对应的特征值必须要有写权限,否则无法写入成功。


二、ATT API

 

三、GAP API

1、GAPRole_SetParameter(GAPROLE_RSSI_READ_RATE, ……)

获取RSSI值

2、GAPCentralRole_UpdateLink();

执行直接调用HCI_LE_ConnUpdateCmd,均为更新参数函数。

四、HCI

extern hciStatus_t HCI_LE_ConnUpdateCmd( uint16 connHandle,
                                         uint16 connIntervalMin,
                                         uint16 connIntervalMax,
                                         uint16 connLatency,
                                         uint16 connTimeout,
                                         uint16 minLen,
                                         uint16 maxLen );

设置更新连接参数。设置参数:lave latency是从设备在没有数据要求主动发送的时候,允许的跳过的connection event的个数,从而达到更低的功耗。supervision timeout就是超过多长时间主设备或者从设备没有回应对方的poll请求,就认为连接丢失的时间长。

HCI_EXT_SetTxPowerCmd 

设置蓝牙发送功率,设置参数param,可以为0x00,0x01,0x02,0x03,分别代表HCI_EXT_TX_POWER_MINUS_23_DBM,HCI_EXT_TX_POWER_MINUS_6_DBM,HCI_EXT_TX_POWER_0_DBM,HCI_EXT_TX_POWER_4_DBM (CC2540 only)

返回值 0x00 success


五、SM(Security Manager API)

bStatus_t SM_Encrypt(uint8 *pKey,uint8 *pPlainText,uint8 *pResult);

通过key加密数据


/*extern llStatus_t LL_EXT_SetBDADDR( uint8 *bdAddr );

设置设备的BLE地址(BDADDR)*/

bStatus_t GATT_ReadCharValue(uint16 connHandle,
  attReadReq_t * pReq,
  uint8 taskId 
  )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值