使用2541做主机使用,去使能手环的心率notify无响应,
attWriteReq_t req; //
req.handle =0x0014;// 地址正确以通过BTOOL验证
req.len = 2;
req.pValue[0] = LO_UINT16(GATT_CLIENT_CFG_NOTIFY); // 0x0001
req.pValue[1] = HI_UINT16(GATT_CLIENT_CFG_NOTIFY); //
req.sig = 0;
req.cmd = 0;
uint8 a=GATT_WriteCharValue( simpleBLEConnHandle, &req,simpleBLETaskId );
A会返回0(成功),但是需要过一会才会有事件ATT_WRITE_RSP返回,然后过一会蓝牙就会自动断开,没有ATT_HANDLE_VALUE_NOTI事件,
BLE-CC254x-1.4.1.43908b开发栈的版本
今天通过BTOOL已经验证了,手环是没有问题 小弟已经被使能notify困扰一周,不知道哪里出了问题
Viki Shi:
notify的实现建议参考SimpleBlecentral例程,在代码中搜索pMsg->method == ATT_WRITE_RSP即可找到
user6018723:
回复 Viki Shi:
pMsg->method == ATT_WRITE_RSP我需要在收到这个后怎么处理这个能收到不过有点慢需要等几十秒我不知道对不对我看网上说的发了使能notify后,就会直接返回ATT_HANDLE_VALUE_NOTI事件
Viki Shi:
回复 user6018723:
找了两个文档,介绍notify比较详细,建议参考:
blog.csdn.net/…/
blog.csdn.net/…/50680035
user6018723:
回复 Viki Shi:
你好我就是按照这个建议做的,现在出了问题不知道是哪里的问题,我在网上收了下,这个写函数是库函数。也不知道它里面是怎么处理的,我在想是不是哪里参数不对,我用另一个模块烧写那个BTooL下位机进行测试过,我的句柄是对的,我看他也是用GATT_WriteCharValue这个函数发送的,用那个软件发过去就是对的,我想是不是我那个写函数里面结构体里面数据填写有问题,我看结构体里面介绍很简单,不是很懂里面每个值的具体意思。
user6018723:
回复 Viki Shi:
能否用Packet Sniffer软件抓包分析主机发送的是什么使能notify数据,然后分别用手机使能和2541使能,然后分析两个数据的不一样