CC2541 如何添加白名单只接收指定MAC地址的广播
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 );加进去就可以啦
想问一下这个白名单功能是坐在芯片级别还是软件层面?
谢谢