之前从机使用SIMPLEPROFILE_CHAR4 noti上传数据,打算改为主机使用GATT_ReadCharValue函数主动读取数据。使用主机和从机测试程序进行测试:
主机GATT_WriteCharValue函数的值为0x5A, 从机CHAR1能够收到0x5A,但是主机GATT_ReadCharValue 反馈的数据也是0x5A, 是不是从机在哪里把写入的数据回传给主机了呢?
之前从机使用SIMPLEPROFILE_CHAR4 noti上传数据,打算改为主机使用GATT_ReadCharValue函数主动读取数据。使用主机和从机测试程序进行测试:
主机GATT_WriteCharValue函数的值为0x5A, 从机CHAR1能够收到0x5A,但是主机GATT_ReadCharValue 反馈的数据也是0x5A, 是不是从机在哪里把写入的数据回传给主机了呢?
默认的例程在主从建立连接后,主机先write,然后再read。
从机在接收到主机write的数据后会进入simpleProfile_WriteAttrCB这个回调,并将value传递给pAttr->pValue。等到主机去读从机数据时,从机进入simpleProfile_ReadAttrCB这个回调,并将此前pAttr->pValue的值再传递给主机可以read到的值。这样就表现出主机发送的数据与从机接收到的数据是一样的了。
可以手动的修改value值。
好的,谢谢!
例程中只对char1 handle查找进行读写操作,主机有没有把char1-char3等类似具有读写属性的特征的handle一块查找出来分别进行读写操作的例程呢?
以下图片只有对char1的操作
这里的UUID修改为从机对应的即可,可以使用主机获取所有的handle值,可以留个邮箱,我们提供。
个人信息保护,已隐藏
邮箱,谢谢!
已发送至邮箱,请查收。
您好 这个历程参考帮忙发一份 个人信息保护,已隐藏 谢谢
已发送至邮箱,请查收。