微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2541 如何添加白名单只接收指定MAC地址的广播

CC2541 如何添加白名单只接收指定MAC地址的广播

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

hi

谁能提供一个列子,center如何添加白名单?

TI工程师们:

广播非连接传输数据,是否有白名单的功能?

see HCI_LE_AddWhiteListCmd() this function

如果是不建立连接的广播数据,白名单是否有效。我添加了这个函数之后,接收不到广播数据了。

是否下面几个语句就可以设置白名单?

HCI_LE_ClearWhiteListCmd()

HCI_LE_AddWhiteListCmd()

然后调用

GAPCentralRole_StartDiscovery( DEFAULT_DISCOVERY_MODE,
DEFAULT_DISCOVERY_ACTIVE_SCAN,
TRUE);就可以了?

LL_AddWhiteListDevice(address, LL_DEV_ADDR_TYPE_PUBLIC );

discoveryParams.taskID = hciExtApp_TaskID;
discoveryParams.mode = DEVDISC_MODE_ALL;
discoveryParams.nameMode = true;

discoveryParams.whiteList = true;

GAP_DeviceInit( hciExtApp_TaskID, GAP_PROFILE_CENTRAL, 1, IRK, SRK, &hciExtSignCounter );

GAP_DeviceDiscoveryRequest(&discoveryParams);

你好 Viki

我这个版本里的参数怎么没有namemode.

typedef struct
{
uint8 taskID; //!< Requesting App's Task ID, used to return results
uint8 mode; //!< Discovery Mode: @ref GAP_DEVDISC_MODE_DEFINES
uint8 activeScan; //!< TRUE for active scanning
uint8 whiteList; //!< TRUE to only allow advertisements from devices in the white list.
} gapDevDiscReq_t;

我把我的处理上传,请帮忙看看原因何在。 第349行是扫描参数。第480行是添加白名单。 实现的功能是多个产品广播温度值,我用来接收指定蓝牙地址的产品数值,只广播不连接。

结果我添加白名单之后,就什么数值都收不到了。

是不是白名单mac地址没有写对,假设我的mac地址是这样的:ac-23-3f-b0-02-4c,那么假如白名单的地址应该如下:

static uint8 s_mac3[B_ADDR_LEN] = {0x4c,0x02,0xb0,0x3f,0x23,0xac};

最后通过:VOID HCI_LE_AddWhiteListCmd( HCI_PUBLIC_DEVICE_ADDRESS, s_mac3 );加进去就可以啦

想问一下这个白名单功能是坐在芯片级别还是软件层面?

谢谢

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

网站地图

Top