* hinter Constante

Mehr
01 Okt 2018 20:49 #487 von Luigi
Luigi erstellte das Thema * hinter Constante
Kann mir jemand erklären was der * hinter der Constante rst_info unten im Code bedeutet?

Danke!

//system_get_rst_info();  // Resetgrund einlesen
  unsigned int Ziklus[2];              // Zykluszähler
  const rst_info * resetInfo = ESP.getResetInfoPtr();  // Resetgrund einlesen
  ESP.rtcUserMemoryRead(0, Ziklus, sizeof(Ziklus));  // Zyklus Nummer einlesen
  if ((resetInfo->reason) == 6)Ziklus[0] = 0;         // Wenn Spannung OFF 
  Ziklus[0]++;   
  ESP.rtcUserMemoryWrite(0, Ziklus, sizeof(Ziklus)); // Zyklus Nummer speichern

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
02 Okt 2018 20:32 #488 von Greenhouse
* hinter Constante
Hallo Luigi,

die Konstante mit dem Namen resetInfo ist als Zeiger oder auch Pointer auf die Struktur rst_info deklariert.
Diese Pointer Verwendung wird über den * angegeben.

Die Struktur rst_info wird in einem der Include Files definiert als
struct rst_info{
uint32 reason;
uint32 exccause;
uint32 epc1;
uint32 epc2;
uint32 epc3;
uint32 excvaddr;
uint32 depc;
};

Die Variable (Konstante) resetInfo zeigt dann auf diese Struktur, die über den Aufruf von ESP.getResetInfoPtr() mit Inhalt gefüllt wird.

Da es sich um einen Zeiger handelt, muss auch der Zugriff auf die Member innerhalb der Struktur mit dem -> erfolgen.

Ich hoffe den Sachverhalt halbwegs verständlich dargestellt zu haben.

Greenhous
Folgende Benutzer bedankten sich: Luigi

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
03 Okt 2018 00:19 #489 von Luigi
* hinter Constante
Danke Greenhouse :)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
03 Okt 2018 16:14 #491 von Luigi
* hinter Constante
Darf ich dich noch fragen wie ich mit dem Wert weiter arbeiten kann? wie kann ich den Wert den resetInfo->reason zurück gibt (sollte 0-6 sein) in eine Varieble übertragen? Das gelingt mir nicht.

Danke!

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
29 Feb 2020 22:56 #639 von beeblebrox
* hinter Constante
uint32_t reason;

reason = resetInfo ->reason;

oder gleich mir der Member arbeiten.

Ulli

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum