大家好,以下是我使用GATT_No
tification的做法:
uint16 ConnHandle;
attHandleValueNoti_t Notify;
GAPRole_GetParameter( GAPROLE_CONNHANDLE, &ConnHandle );
Notify.handle = UartServiceAttTbl[2].handle;//特征值对应的handle
Notify.len = UartRxLen;//特征值的长度
osal_memcpy(Notify.value,UartRxData,UartRxLen);//特征值的数据
GATT_Notification(ConnHandle,&Notify,FALSE);
我使用Andriod上位机与Keyfob
通信,每次都要上位机先使能Notification之后才会收到通知的数据。
但是当我使用USBDongle与Keyfob通信时,即使未使能Notification,也能监听到Keyfob发送通知数据。如下
[74] :
- 10:53:06.421
-Type : 0x04 (Event)
-EventCode : 0xFF (HCI_LE_ExtEvent)
-Data Length : 0x1B (27) bytes(s)
Event : 0x051B (ATT_HandleValueNotification)
Status : 0x00 (Success)
ConnHandle : 0x0000 (0)
PduLen : 0x15 (21)
Handle : 0x0025 (37)
Value : 01:02:04:00:00:00:00:00:00:00:00:00:00:00:00:00:
00:00:00
Dump(Rx):
04 FF 1B 1B 05 00 00 00 15 25 00 01 02 04 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00
问题1:从机使用GATT_Notification发送通知时,不论主机有没有使能Notification,从机都可以发送通知,对吗?
问题2:主机使能Notification只是决定对从机发送的通知要不要处理,对吗?
问题3:如果不是的话,要怎么理解呢?求解~~~
Thanks
0