【发布时间】:2018-02-12 19:56:32
【问题描述】:
在 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
我需要帮助,谢谢
【问题讨论】: