修改MAC地址
#define CFG_NVDS_TAG_BD_ADDRESS {0x04, 0x00, 0x70, 0xCA, 0xEA, 0x80}
配对的时候能看到的
现在修改的话 不会生效
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