我目前正在开发 Arduino sketch,需要一种方法来转换以下 mac 地址:
const char *ss =“00:1E:C0:04:9F:F3”;
转换成unit8_t*,这样我就可以将它用作下面的network_set_MAC函数的参数:
/设置设备的MAC地址/ void network_set_MAC(uint8_t* mac);
关于如何在 Arduino IDE 中执行此操作有什么想法吗?
自动将文本表示转换为机器可读的表示比看起来更难。这需要一些仔细的解析。
由于您将 MAC 地址硬编码到草图中,因此您无需担心这一点。您可以简单地将其写为十六进制文字数组:
uint8_t mac[] = {0x00, 0x1E, 0xC0, 0x04, 0x9F, 0xF3};
在 C++ 中,数组类型会愉快地衰减为指针,因此您应该能够像这样将其直接传递给函数:
network_set_MAC(mac);
虽然已经很晚了,但这是唯一的选择
uint8_t mac[6];
char *macAddress="84:0D:8E:AA:5B:44";
sscanf(macAddress, "%X:%X:%X:%X:%X:%X", &mac[0], &mac[1], &mac[2], &mac[3], &mac[4], &mac[5]);