微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 求助:cc2640 1主3从问题-想法:第一个连接完成连接第二个,第二个连接完成连接第三个

求助:cc2640 1主3从问题-想法:第一个连接完成连接第二个,第二个连接完成连接第三个

时间:10-02 整理:3721RD 点击:

  1. 方法:第一个连接完成连接第二个,第二个连接完成连接第三个,结果没成功
  2. case GAP_DEVICE_DISCOVERY_EVENT://在发现事件中发现3个从设备
  3. Device:0
  4. 0xB4994C5478D9
  5. Device:1
  6. 0x209148B52DB4
  7. Device:2
  8. 0xB4994C5BA293
  9. //发现3个从设备后开始连接第一个从设备
  10. simpleBLEConnect(0);//连接从机1

  11. case GAP_LINK_ESTABLISHED_EVENT:
  12. if (pEvent->gap.hdr.status == SUCCESS)//连接成功
  13. { //连接完成的从设备地址与加入列表的从设备地址比较,如果相同说明连接成功
  14.    if( (uint8*)Util_convertBdAddr2Str(pEvent->linkCmpl.devAddr) == (uint8*)Util_convertBdAddr2Str(devList[0].addr) )
  15.     { simpleBLEConnect(1); }//第一个设备连接完成连接第二个设备
  16.    if( (uint8*)Util_convertBdAddr2Str(pEvent->linkCmpl.devAddr) == (uint8*)Util_convertBdAddr2Str(devList[1].addr) )
  17.     { simpleBLEConnect(2); }//第二个设备连接完成连接第三个设备
  18. }
  19. 结果://第二与第三个设备没连接成功
  20. Connecting : 0xB4994C5478D9
  21.  Connected 0xB4994C5478D9//第一个连接成功了
  22.  Connecting : 0x209148B52DB4 //第二个只发起了连接,是不是上面if判断的不对?
  23. Connecting : 0xB4994C5BA293
  24. 问题:是不是只要发起连接不管连接成不成功pEvent->linkCmpl.devAddr的地址都会与相应的devList[n].addr地址相同?你们1主8从怎么做到的?

断开第一个,然后连接第二个。

你好,

请参考multi role sample code

https://github.com/ti-simplelink/ble_examples/blob/master/docs/multi_role.md

他定义了一个handle的数组,在GAP_LINK_ESTABLISHED_EVENT事件里面增加连接。

首先非常感谢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的方法是一样的吗?

  


  

你好,

1.安装最新版本的IAR,安装最新版本sdk,然后再下载GITHUB上的example code在C:\ti\simplelink下面。

2.使用于任何BLE蓝牙手机和设备,只是我在测试上只针对TI的板子测试稳定性。

3.从IAR官网上下载。

你好能不能给个iar和sdk的链接给我,我安装几个了,都编译不过central_to_multiperipheral工程。

 

你好,

你可以直接使用2_02_00_31,这个是最新的,下载地址http://www.ti.com/tool/ble-stack

multi的工程代码:https://github.com/ti-simplelink/ble_examples

都下下来,在example的例程里面!

请问,我想多个android或者ios手机同时连接一个cc2540/2541,这种可以实现吗? 

谢谢@Michael Qian不厌其烦的帮助,主要原因是主机默认设置的只能连接一个从机,把默认数与堆改大一点,然后再连接完成时连接下一个就行了。另外上面 if 的判断是否    连接完成方法是错误的,因为只要连接完成2个if语句都会进去,所以结果有连续两次connecting。设置连接标志判断要连接哪一个就行了。谢谢大家。

CC2540作为主机,手机作为从机的话可以

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top