CC2541 notify 1个间隔4个packet
时间:10-02
整理:3721RD
点击:
hello,
各位工程师,
现在遇到一个问题,如下:
设置:>> 因为需要很多数据传输,特别设置了30ms的连接间隔,1个间隔4个包,每个包20个字节;
现象:>> 但是在实际传输过程中,发现实际每个间隔平均只成功发送了3个包,如果每个包发送的数据为2个字节,则每次发送都ok。
疑惑:>> 请问这种现象是什么原因导致的?如何解决?
谢谢!
用的什么版本的协议栈?
下面的例子实验过,可以一个间隔发4个。你也可以通过函数的返回值,判断是什么原因造成的?
http://processors.wiki.ti.com/index.php/SerialBLEbridge_V_1.4.1
里面也提到了一些注意事项,比如
- Prevent the CPU from halting during RF activity. This is absolutely necessary so and is accomplished via HCI_EXT_HaltDuringRfCmd(HCI_EXT_HALT_DURING_RF_DISABLE);
TY,
谢谢你的回复,
1. 我用的是 1.4.2的最新的协议栈。
2. 我测试用例已经添加了 HCI_EXT_HaltDuringRfCmd(HCI_EXT_HALT_DURING_RF_DISABLE);
3. 1个包的字节数比较少时,是可以每次都是4个包,但是都是20字节时,平均下来就只有3个包了。
4. 我测试发现 添加 HCI_EXT_OverlappedProcessingCmd(HCI_EXT_ENABLE_OVERLAPPED_PROCESSING); 就可以每次4个包且每个包都是20字节。
备注:
测试环境 1. cc2541开发板
2. TI 1.4.2协议栈
3. 苹果5s lightblue
4. 连接间隔 30ms