- 方法:第一个连接完成连接第二个,第二个连接完成连接第三个,结果没成功
case GAP_DEVICE_DISCOVERY_EVENT://在发现事件中发现3个从设备
Device:0
0xB4994C5478D9
Device:1
0x209148B52DB4
Device:2
0xB4994C5BA293
//发现3个从设备后开始连接第一个从设备
simpleBLEConnect(0);//连接从机1
case GAP_LINK_ESTABLISHED_EVENT:
if (pEvent->gap.hdr.status == SUCCESS)//连接成功
{ //连接完成的从设备地址与加入列表的从设备地址比较,如果相同说明连接成功
if( (uint8*)Util_convertBdAddr2Str(pEvent->linkCmpl.devAddr) == (uint8*)Util_convertBdAddr2Str(devList[0].addr) )
{ simpleBLEConnect(1); }//第一个设备连接完成连接第二个设备
if( (uint8*)Util_convertBdAddr2Str(pEvent->linkCmpl.devAddr) == (uint8*)Util_convertBdAddr2Str(devList[1].addr) )
{ simpleBLEConnect(2); }//
第二个设备连接完成连接第三个设备}
结果://第二与第三个设备没连接成功
Connecting : 0xB4994C5478D9
Connected 0xB4994C5478D9//第一个连接成功了
Connecting : 0x209148B52DB4 //第二个只发起了连接,是不是上面if判断的不对?
Connecting : 0xB4994C5BA293
问题:是不是只要发起连接不管连接成不成功
pEvent->linkCmpl.devAddr的地址都会与相应的devList[n].addr地址相同?你们1主8从怎么做到的?
da qin zheng sheng:
断开第一个,然后连接第二个。
JPG:
回复 kqian0327:
首先非常感谢kqian0327的帮助
再请问一下:1、直接安装IAR7.70.2和ble_sdk_2_02_01_18,然后把ble_examples-master拷贝到ble_sdk_2_02_01_18中就行了嘛?
2、你说1主8从只适合cc2640,那么1个主机是cc2640,8个从机是cc2541可以吗?
3、7.70.2的IAR从哪里下载啊?只看到7.70和7.80的,另外破解的时候和7.40.2的方法是一样的吗?
kqian0327:
回复 JPG:
你好,
1.安装最新版本的IAR,安装最新版本sdk,然后再下载GITHUB上的example code在C:\ti\simplelink下面。
2.使用于任何BLE蓝牙手机和设备,只是我在测试上只针对TI的板子测试稳定性。
3.从IAR官网上下载。
JPG:
回复 kqian0327:
你好能不能给个iar和sdk的链接给我,我安装几个了,都编译不过central_to_multiperipheral工程。
kqian0327:
回复 JPG:
你好,
你可以直接使用2_02_00_31,这个是最新的,下载地址http://www.ti.com/tool/ble-stack
multi的工程代码:https://github.com/ti-simplelink/ble_examples
都下下来,在example的例程里面!
di wu78:
回复 kqian0327:
请问,我想多个android或者ios手机同时连接一个cc2540/2541,这种可以实现吗?
JPG:
回复 kqian0327:
谢谢@Michael Qian不厌其烦的帮助,主要原因是主机默认设置的只能连接一个从机,把默认数与堆改大一点,然后再连接完成时连接下一个就行了。另外上面 if 的判断是否 连接完成方法是错误的,因为只要连接完成2个if语句都会进去,所以结果有连续两次connecting。设置连接标志判断要连接哪一个就行了。谢谢大家。
Viki Shi:
回复 di wu78:
CC2540作为主机,手机作为从机的话可以