dwm_mac_addr_set

设置 BLE、UWB、以太网或 Wi-Fi 接口的 MAC 地址,需要重置后才能生效. 由于会写入内部非易失性存储器,因此不应频繁使用. 要使用默认 MAC 地址,需要进行出厂重置 (dwm_factory_reset). UWB MAC 地址的两个最小有效字节不得等于 0x0000 或 0xFFFF. BLE 地址可以是随机地址或公共 BLE 地址. 以太网和 Wi-Fi 地址必须遵守 EUI-48 格式,U/I 位必须相应设置.

void dwm_mac_addr_set(dwm_mac_addr_type_t type, dwm_mac_addr_t *addr)
参数
  • input – addr_type, addr_value

  • addr_type – 8位整数(0=UWB 地址, 1=BLE 随机地址, 2=BLE 公共地址, 3=ETH 地址, 4=WIFI 地址, ETH 和 WIFI 仅在网关上支持)

  • addr_value – 6 字节 (6 字节长的 MAC 地址)

  • output:状态代码

C代码示例

dwm_mac_addr_t addr;
addr.bytes[0]: 0xAA;
addr.bytes[1]: 0xBB;
addr.bytes[2]: 0xCC;
addr.bytes[3]: 0xDD;
addr.bytes[4]: 0xEE;
addr.bytes[5]: 0xFF;
int rv: dwm_mac_addr_set(NODE_ADDR_TYPE_UWB, &addr);
if (rv != DWM_OK) {
  printf("can't set node address, error %d\n", rv);
}

SPI/UART 示例

TLV 请求

类型

长度

价值

0x2D

0x07

0字节 :MAC 地址类型
1-6字节: 小端 MAC 地址

0x00 0xEF 0xCD 0xAB 0x56 0x34 0x12

类型 0x2D (45 dec)表示命令 dwm_mac_addr_set

TLV 响应

类型

长度

价值(参见错误代码)

0x40

0x01

0x00

类型0x40表示 状态代码 上一条命令的状态码