我现在从机增加20字节大小的notify型的char6特征值,用于与主机通信,但是现在主机无法获取char6的句柄值(主机是能获取其他特征值的句柄的),而且如果使用手机app接收从机char6 notify的数据,是能接收到的。所以现在不不知道是从机还是主机出现的问题,换了几个板子都是一样的情况!TI开发人员知道是哪儿的问题的吗?希望解答一下谢谢
(这是主机获取句柄值的修改部分,只需要修改SIMPLEPROFILE_CHAR6_UUID应该就能获取char6的句柄的)
Alvin Chen:
Hi,yongjing
我在下面举一个例子:
#define GATT_CLIENT_CFG_NOTIFY0x0001 //打开notify开关的数值#define GATT_CLIENT_CFG_INDICATE0x0002 //打开indicate开关的数值#define SIMPLEPORFILE_CHAR4_Hdl0x2E //char4的句柄#define SIMPLEPORFILE_CCC_Hdl0x2F //char4的CCC的句柄开启notificationattWriteReq_t req;req.handle = GUA_CHAR4_CCC_Hdl;//char4的CCC的特征值句柄,这里写死0x2F,可通过btool获取到req.len = 2;req.value[0] = LO_UINT16(GATT_CLIENT_CFG_NOTIFY); //0x0001为开notifyreq.value[1] = HI_UINT16(GATT_CLIENT_CFG_NOTIFY);req.sig = 0;req.cmd = 0;GATT_WriteCharValue( 0, &req, simpleBLETaskId );接收部分
SimpleBLECentral.c的simpleBLECentralProcessGATTMsg中else if ( ( pMsg->method == ATT_HANDLE_VALUE_NOTI ) )//通知{if( pMsg->msg.handleValueNoti.handle == GUA_CHAR4_Hdl)//CHAR6的通知串口打印{char str[32] = {0};osal_memcpy(str, pMsg->msg.handleValueNoti.value, pMsg->msg.handleValueNoti.len );}}
TI中文支持网


