两个cc2541通信,主机使用GATT_WriteLongCharValue发送3个数据包,从机只接收到一个
时间:10-02
整理:3721RD
点击:
使用2个CC2541通信,
主机使用GATT_WriteLongCharValue分包发送252字节数据,3个数据包(90+90+72)。通过SmartRF Packet Sniffer看发送成功。
从机simpleProfileChangeCB中使用SimpleProfile_GetParameter获取value值,只捕获到一个数据包。
是否还需要其他设置,麻烦帮忙看下。
谢谢!
测试几次?都是这个结果吗?
测试了好多次,都是一样的结果。是不是代码中有的控制开关没打开?
后来我对偏移量offset做修改,发送数据包时,offset+已发数据包的大小。从机仍然只是接收到了一个数据包。
simpleProfileChangeCB和SimpleProfile_GetParameter只调用了一次, 打印value的大小,只打印了一次,90。
从机使用低功耗没有?收到的是哪个包?还有蓝牙通信间隔时间是多少?
通常都是每包20个字节,建议使用notify
您好,
1.从机使用的是低功耗。
2.收到的是应该是前两个包中的一个吧,我光打印了value的长度,是90。没有打印内容,我等下打印下看看。
3.蓝牙的通信间隔没有改过。应该是原声的(100ms ~ 1s)
4.我这边是Client端发送大数据给Server端
使用的GATT_WriteLongCharValue发送最大包90个字节,
发现在simpleProfileChangeCB中串口打印value的长度,只有72个。如果不打印数值变量,长度范围是正确的。。。