GATTServApp_WriteCharCfg和GATTServApp_ProcesscccWriteReq 和GATTServApp_ProcessCharCfg的区别

来源:互联网 发布:ipad 看图软件 编辑:程序博客网 时间:2024/05/18 03:09

一. GATTServApp_WriteCharCfg和GATTServApp_ProcesscccWriteReq 和GATTServApp_ProcessCharCfg的区别

1. GATTServApp_WriteCharCfg,就是单纯写一下CCC的值。

2. GATTServApp_ProcesscccWriteReq,处理master那边过来的改写CCC的请求,比如打开/关闭notification。

3. GATTServApp_ProcessCharCfg,就是会判断一下CCC的值,如果notification 或者indication打开的话,顺便把内容发出去。


二.  GATTServApp_ProcessCharCfg()和GATT_Notification()的区别

1. GATTServApp_ProcessCharCfg()内部会先判断characteristic configuration是否使能通知,如果使能则调用GATT_Notification(),发送通知给主机。

2. GATT_Notification()直接把通知发送给主机,不管是否通知是否使能。

3. GATTServApp_ProcessCharCfg() 最终会导致master那边调用一个read请求, 然后调用到keyfob这边的sk_ReadAttrCB(), 

  最后会到sk_ReadAttrCB()里面

  case SK_KEYPRESSED_UUID:
  *pLen = 1;
  pValue[0] = *pAttr->pValue;
  break;

 注意*pLen = 1, 把这个改成你要的长度.


0 0
原创粉丝点击