MAC地址

修改MAC地址                    
#define CFG_NVDS_TAG_BD_ADDRESS             {0x04, 0x00, 0x70, 0xCA, 0xEA, 0x80}

    https://support.dialog-semiconductor.com/da14580%E7%9A%84%E8%93%9D%E7%89%99mac%E5%9C%B0%E5%9D%80%E5%A6%82%E4%BD%95%E5%A4%84%E7%90%86%EF%BC%9F

 

配对的时候能看到的

现在修改的话 不会生效

 

NODE 台湾代码 修改

/******************************************************************************
 *** BLE FUNCTIONS
 *****************************************************************************/
void user_app_generate_static_random_addr(struct bd_addr *addr)
{
    // Check if the static random address is already generated.
    // If it is already generated the two MSB are equal to '1'
    if (!(addr->addr[BD_ADDR_LEN - 1] & GAP_STATIC_ADDR))
    {
        uint8_t package;
        uint32_t val1, val2;
        uint32_t timestamp;
        uint32_t tester, position, adc_single, adc_diff;

        // Initialize OTP controller
        hw_otpc_init();
        hw_otpc_enter_mode(HW_OTPC_MODE_READ);

        package = (GetWord32(OTP_HDR_PACKAGE_ADDR) & 0x000000FF);
        position = GetWord32(OTP_HDR_POSITION_ADDR);
        tester = (GetWord32(OTP_HDR_TESTER_ADDR) & 0x00FFFFFF);
        timestamp = GetWord32(OTP_HDR_TIMESTAMP_ADDR);

        adc_single = (otp_cs_get_adc_single_offset() << 16) | otp_cs_get_adc_single_ge();
        adc_diff = (otp_cs_get_adc_diff_offset() << 16) | otp_cs_get_adc_diff_ge();

        val1 = timestamp ^ position ^ adc_single;
        val2 = tester ^ package ^ adc_diff;

        hw_otpc_disable();

        // Shuffle the bits to 'look' more random
        val1 = hash(val1);
        val2 = hash(val2);

        // Assign unique address
        addr->addr[0] = val1 & 0xFF;
        addr->addr[1] = (val1 >> 8) & 0xFF;
        addr->addr[2] = (val1 >> 16) & 0xFF;
        addr->addr[3] = (val1 >> 24) & 0xFF;
        addr->addr[4] = val2 & 0xFF;
        addr->addr[5] = val2 >> 8;

        // The two MSB shall be equal to '1'
        //addr->addr[BD_ADDR_LEN - 1] |= GAP_STATIC_ADDR;
        addr->addr[BD_ADDR_LEN - 1] =0XFF;
    }

    mc_debug("\r\n[MAC]:");
    memcpy(&ble_mac_addr, &addr->addr, BD_ADDR_LEN*sizeof(uint8_t));

    for (int8_t mac_addr_cnt = (BD_ADDR_LEN-1);mac_addr_cnt >= 0;mac_addr_cnt--) {
        mc_debug_byte(ble_mac_addr[mac_addr_cnt]);
        if (mac_addr_cnt > 0)
            mc_debug(":");
    }
}

看的MAC

F0:BE:18:007E:D3

变成

FF:BE:18:007E:D3

 

也就是MAC的第一个HEX 一定大于等于0XC0

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值