微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2540主从连接

CC2540主从连接

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

大家好:

    想找大家请教如下两个问题:

1.当同一个环境中有多台CC2540同时广播时,主模块如何只扫描到特定的从模块,从而防止其他模块的干扰。通过从模块广播不同的内容然后主模块来判断识别吗?相应的函数是哪个?

2.如何实现一主3从上电自动连接?

谢谢!

Hi peng,

1 你可以在从模块的广播数据中加入随意自定义内容, 这样可以做到识别.

2 你可以让主设备一直发链接请求, 从设备一上电就自动发广播, 这样就都能自动连上.

Hi Yan,

能否详细说一下,我主机使用的是HostTest模板,扫描时怎么屏蔽掉特定广播数据的节点信息。是在*processEventsGAP()中的case GAP_DEVICE_DISCOVERY_EVENT加入什么函数来判别?谢谢

自己再顶一下  求指导

无法屏蔽别人的广播.

你能做的只是在广播端, 广播的时候加些advertising data 和 scan response data, 查找方通过这些数据来取舍设备.

谢谢,我可以在GAP_DEVICE_INFO_EVENT中通过 scan response data区分从设备,但接下来我准备将不需要的从设备不要显示在BTOOL中的slave BDA框中,不知道在GAP_DEVICE_DISCOVERY_EVENT中怎么处理。

另外,上面没有成功后我尝试扫描到后直接根据scan response data来选择性的连接,在GAP_DEVICE_INFO_EVENT中添加:

          if(buf[2]==0x53)
          {
            linkReq.taskID = hciExtApp_TaskID;
            linkReq.highDutyCycle = FALSE;
            linkReq.whiteList = FALSE;
            linkReq.addrTypePeer = ADDRTYPE_PUBLIC;
            VOID osal_memcpy( linkReq.peerAddr, resBuf, B_ADDR_LEN );
   
            GAP_EstablishLinkReq( &linkReq );
            //osal_set_event (hciExtApp_TaskID, GAP_LINK_ESTABLISHED_EVENT);
          }

也不行,没有调用GAP_LINK_ESTABLISHED_EVENT事件。

你 想修改BTool? BTool无法修改.

请用单步调式, 看一下代码到哪里了再做一下判断.

Hi Yan,

除了这个方法之外,我可不可以通过绑定列表进行有选择的链接?即只有配对并绑定的设备我才发送链接请求。谢谢!

绑定列表没有这个功能.

另外你可以用white list功能, 只允许在列表中的设备连接.

那我怎么写while list呢?直接从绑定列表里读出设备,然后写到while list可以吗?

是white list.

HCI有个专门的LE_Add_Device_To_White_List命令, 你可以看一下core spec, 也可以看一下TI协议栈里面的HCI层接口, 应该有这个命令的使用方法.

Hi Yan,

增加白名单的命令我已经找到了,VOID HCI_LE_AddWhiteListCmd( HCI_PUBLIC_DEVICE_ADDRESS, bonds[i].publicAddr ); 例子程序中的代码貌似从绑定列表中将地址写入white list。

static void gapBondMgr_SyncWhiteList( void )
{
  //erase the White List
  VOID HCI_LE_ClearWhiteListCmd();

  // Write bond addresses into the White List
  for( uint8 i = 0; i < GAP_BONDINGS_MAX; i++)
  {
    // Make sure empty addresses are not added to the White List
    if ( osal_isbufset( bonds[i].publicAddr, 0xFF, B_ADDR_LEN ) == FALSE )
    {
      VOID HCI_LE_AddWhiteListCmd( HCI_PUBLIC_DEVICE_ADDRESS, bonds[i].publicAddr );
    }
  }
}

现在我想问,从设备也可以用white list进行有选择的链接吗?

谢谢!

xie,

bingo!

yeah!

Hi  peng

上电自动连接你做好了吗,能不能提供一下方法啊?

你好,我也想问这个自动连接的问题,虚要改主从机的哪些函数哪些配置啊?求指导,谢谢各位大神

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

网站地图

Top