请教一下TI工程师:
CC2640的SimpleBLECentral中,想要连接多个从设备,连接上一个以后,再去连第二个,返回代码:0x15 //!< There are no resource available
找资料发现是配置的问题,MAX_NUM_BLE_CONNS 默认配置是1,后来改成3,就可以连接第2个了。
现在的问题是:
MAX_NUM_BLE_CONNS的值是什么意思,假如设置为3,是否说明最大的连接数量是3呢?因为我需要连接8个,把MAX_NUM_BLE_CONNS改成8以后,2640一上电运行就死机了。
第二个问题:
把MAX_NUM_BLE_CONNS设置为3以后,我有三个从程序一样的刚烧录程序的2541从设备,用2640去扫描连接,三个都能连接上(但是容易断线)。然后2640和2541都断电,然后2541先上电,2640再上电,不管我重复多少次这个过程,2640都只能扫描到一个2541设备了。但是用手机去扫描,另外两个2541还是可以正常扫描并且连接上的,为什么会出现这么诡异的问题呢?
谢谢!
Viki Shi:
MAX_NUM_BLE_CONNS就是最大连接数,8个可能太占用内存,你可以先试试5、6个
Viki Shi:
2、连接到的这唯一一个CC2541设备是固定的还是不固定的?可以抓包看看其他两个设备无法加入的原因
user4184198:
回复 Viki Shi:
谢谢VIki
第一个问题,已经确定了,MAX_NUM_BLE_CONNS的值决定了最大连接数量,改动以后,相应需要改动的宏定义,是HEAPMGR_SIZE和SBC_TASK_STACK_SIZE,否则容易出现堆栈溢出的结果,具体的值需要具体调整。
第二个问题,已经确定了是2541的程序问题,已经改过来了。
谢谢!