Hallo,
ich programmiere gerade etwas mit meinem Arduino und meinem OLED-Display, welches ich mit der Adafruit SSD1306-Library anspreche.
Mein Problem, dass ich folgende Methode habe:
und wenn ich diese mit z.B. printMode("Test") aufrufe, dann wird Test auch ausgegeben.
Aber wenn ich eine Variable modeAlarm vom Typ String deklariere und mit modeAlarm = "Test" einen Wert zuweise
und dann mit printMode(modeAlarm) aufrufe bekomme ich folgenden Fehler:
Ich weiß, was dieser Fehler bedeutet, aber wenn ich so mit einem Char-Array mache, ...
dann kommen Zeichen heraus und keine Buchstaben.
Ich will nicht die Klasse String benutzen, weil diese zu viel Platz verbraucht und ich lieber auf die Standard-Klassen zugreifen will.
Den String habe ich nur zum Testen verwendet, ob er das richtig anzeigen würde.
Gibt es eine andere Möglichkeit, das Problem zu lösen?
Freue mich auf Antworten.
MFG
Alex-Digital
ich programmiere gerade etwas mit meinem Arduino und meinem OLED-Display, welches ich mit der Adafruit SSD1306-Library anspreche.
Mein Problem, dass ich folgende Methode habe:
und wenn ich diese mit z.B. printMode("Test") aufrufe, dann wird Test auch ausgegeben.
Aber wenn ich eine Variable modeAlarm vom Typ String deklariere und mit modeAlarm = "Test" einen Wert zuweise
und dann mit printMode(modeAlarm) aufrufe bekomme ich folgenden Fehler:
Arduino IDE schrieb:
invalid cast from type ‘String’ to type ‘char*’
Ich weiß, was dieser Fehler bedeutet, aber wenn ich so mit einem Char-Array mache, ...
C-Quellcode
-
- // Die Variable deklarieren
- char* modeAlarm = new char[20];
- // ...
- // Je nachdem, welcher Zustand es ist, den String in das Char-Array kopieren
- switch(alarmModeState) {
- case 'h': strcpy(modeAlarm, "Alarm mode (hour)"); break;
- case 'm': strcpy(modeAlarm, "Alarm mode (minute)"); break;
- }
- // ...
- // Dann printMode() aufrufen
- printMode(modeAlarm);
dann kommen Zeichen heraus und keine Buchstaben.
Ich will nicht die Klasse String benutzen, weil diese zu viel Platz verbraucht und ich lieber auf die Standard-Klassen zugreifen will.
Den String habe ich nur zum Testen verwendet, ob er das richtig anzeigen würde.
Gibt es eine andere Möglichkeit, das Problem zu lösen?
Freue mich auf Antworten.
MFG
Alex-Digital
~ Alex-Digital :D
if(!Internet.VBP.Get<User>("Alex-Digital").IsOnline) this.Close();