在 SPIFFS 的文件中,我以“XX:XX:XX:XX:XX:XX”的形式保存了有关 mac 地址的信息。当我读取文件时,我需要将它从 STRING 切换为十六进制值数组。
uint8_t* str2mac(char* mac){
uint8_t bytes[6];
int values[6];
int i;
if( 6 == sscanf( mac, "%x:%x:%x:%x:%x:%x%*c",&values[0], &values[1], &values[2],&values[3], &values[4], &values[5] ) ){
/* convert to uint8_t */
for( i = 0; i < 6; ++i )bytes[i] = (uint8_t) values[i];
}else{
/* invalid mac */
}
return bytes;
}
wifi_set_macaddr(STATION_IF, str2mac((char*)readFileSPIFFS("/mac.txt").c_str()));
但我在某处的代码中错了
当我放入AA:00:00:00:00:01
文件时,我的 ESP8266 设置29:D5:23:40:00:00
我需要帮助,谢谢