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表示 状态代码 上一条命令的状态码