我正在尝试在Arduino中制作对象,但出现错误

I am trying to make an Object in Arduino but got an error

本文关键字:对象 错误 作对 Arduino      更新时间:2023-10-16

我正在尝试在Arduino中创建一个对象,但是在设置myObject时出错。

struct myObject {
char dataA[32];
char dataB[32];
};
make_object("Hello","World");

void make_object(String strText1, String strText2){

myObject vars = { 
strText1,                 // here are my errors
strText2                  // here are my errors  
};
Serial.println(vars.dataA);
Serial.println(vars.dataB);
} 

错误是:

不存在从"字符串"到"字符"的合适转换函数

有人知道如何解决这个问题吗?

string.toCharArray(buf, len)函数似乎很有用。

void make_object(String strText1, String strText2){

myObject vars;
strText1.toCharArray(vars.dataA, sizeof(vars.dataA));
strText2.toCharArray(vars.dataB, sizeof(vars.dataB));
Serial.println(vars.dataA);
Serial.println(vars.dataB);
}

@MikeCAT

非常感谢工作。

在您的帮助下,我能够将SSID对象存储到EEPROM

struct wifiConn {
char eSsid[32];
char ePasw[32];
};
void write_wifi_toEEPROM(uint8_t startAddr, String strSSID, String strPW){
wifiConn vars;
strSSID.toCharArray(vars.eSsid, sizeof(vars.eSsid));
strPW.toCharArray(vars.ePasw, sizeof(vars.ePasw));
EEPROM.put(startAddr, vars);
EEPROM.commit();  
}
wifiConn read_wifi_fromEEPROM(uint8_t startAddr){
wifiConn readEE;        //Variable to store custom object read from EEPROM.
EEPROM.get(startAddr, readEE);
Serial.println("Read ssid object from EEPROM ");
return readEE;    
}

我希望代码也能帮助其他用户。