TI中文支持网
TI专业的中文技术问题搜集分享网站

cc2541连接某些Android手机后不能广播了。

我的工程是1.4.2版本,simpleBLEPeripheral, cc2541,使能了PLUS_BROADCAST宏。当使用ios手机连接后,设备可以正常发送ADV_NON_CONNECT的广播包,也能正常返回ScanResp,但是使用某些Android连接后设备就不能正常广播了,也没有回复ScanResp,但有些android手机连接后还是可以继续广播的。抓了正常的和不正常的空中包,连接部分的命令交互如下。

正常的(连接之后还可以继续广播):

不正常的(连接之后不能继续广播):

不知问题发生在设备端还是手机端,谢谢了!

Viki Shi:

不正常情况下 ack status出问题了,unexp.sn——–Unexpected Sequence number

建议参考下这边: https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/343336

xl lou:

回复 Viki Shi:

Thanks Viki. 我会先找找我代码里面是否也有link中描述的OSAL memory申请和释放的问题。

Viki Shi:

回复 xl lou:

好的,起码可以排除下产生问题的原因

xl lou:

回复 Viki Shi:

Hi Viki,

我仔细检查了代码中的osal_mem_alloc和osal_mem_free的调用,没有问题,而且我基本上把我自己应用的代码也都去掉了(去掉后就没有osal_mem_alloc和osal_mem_free的相关代码调用了)还是不行,之后我又把INT_HEAP_LEN宏定义的大小设置为3584(之前是3072),问题还是没有解决,这次又出现了如下图所示的Unexp. NESN的Ack Status,这是为什么呢?多谢了!

BR

lou

xl lou:

回复 Viki Shi:

Viki, 另外我发现在失败的几个case里,connect_req中的Interval的值都比较大,而成功的时候Interval的值较小,这个Interval是什么意思呢?谢谢。

赞(0)
未经允许不得转载:TI中文支持网 » cc2541连接某些Android手机后不能广播了。
分享到: 更多 (0)