蓝牙从机获取主机mac地址每次都有变动

static void HeartRateGapStateCB(gapRole_States_t newState, gapRoleEvent_t *pEvent)

{

    // if connected 如果连接

    if(newState == GAPROLE_CONNECTED)

    {

        if(pEvent->gap.opcode == GAP_LINK_ESTABLISHED_EVENT)

        {

            // Get connection handle 获取连接句柄

            gapConnHandle = pEvent->linkCmpl.connectionHandle;

            // Set timer to update connection parameters

            // 设置计时器以更新连接参数

            tmos_start_task(heartRate_TaskID, HEART_CONN_PARAM_UPDATE_EVT, DEFAULT_CONN_PARAM_UPDATE_DELAY);

            //Peripheral_LinkEstablished( pEvent );

            PRINT( "Connected..\n" );

            int i,j;

            // Increment index of current result (with wraparound)

                   PRINT ( "directAddressType=%x ",pEvent->linkCmpl.devAddrType );  //获取地址类型

                   PRINT ( "Device %d : ", j );

                  for( i=0; i<6; i++)

                  {

                       PRINT ( "%x ",pEvent->linkCmpl.devAddr[i]);//打印地址

                 }

                 PRINT ("\n");

            }

            //break;

        }

心率传感器案例中加入读取主机mac地址,打印mac地址代码,隔一段时间后断开再来连接,主机的mac地址就会变化。

1649722327(1).jpg

主机用的是同一台手机。

问题,应该怎样获取主机正确的mac地址,我需要将正确的主机mac地址加入白名单,只对绑定了白名单的主机发送数据。

获取到的mac地址是解析地址,是会变化的,加上下面函数:

uint8 sync_white_list = TRUE;

GAPBondMgr_SetParameter(GAPBOND_AUTO_SYNC_RL,sizeof(sync_white_list),&sync_white_list);

若使用的是573例程,之后应该会更新,可以持续关注,目前里面放的是解析地址,更新后加上这函数,可以将绑定的设备加入白名单,且里面存放的是身份地址,不会改变。



谢谢回复,用的是573的例程,芯片是571的。


只有登录才能回复,可以选择微信账号登录