大家好:
Central与Peripheral通信问题:两种方式
1.如果Peripheral的Characteristic没有设置鉴权读写,Central通过GATT_WriteCharValue、GATT_ReadCharValue跟Peripheral通信没有问题。
2.如果Peripheral的Characteristic设置鉴权读写,Central通过GATT_WriteCharValue、GATT_ReadCharValue跟Peripheral通信报错:0x05错误。
查询#define ATT_ERR_INSUFFICIENT_AUTHEN 0x05 //!< The attribute requires authentication before it can be read or written
这句话的含义是读写之前要鉴权;
现在的问题:方式2中
1、Central怎么鉴权,打印也没有看到GAP_SLAVE_REQUESTED_SECURITY_EVENT这样的事件;
2、Central初始化设置GAPBOND_PAIRING_MODE_INITIATE,连接时配对成功;但是读写同样错误;
3、采用lightblue,读写时会弹出配对,配对成功,读写没有问题;
当Peripheral设置鉴权读写时,Central怎么才能读写成功呢?
求助!
JChong_Zhui:
回复 Barbara Wu:
谢谢,已解决。