Forum: Mikrocontroller und Digitale Elektronik ESP8266 hängt, ich denke es liegt an meinem Code


von de1m (Gast)


Lesenswert?

Hallo Leute,

ich möchte was aus dem flash Speicher lesen, dazu hatte ich früher eine 
Funktion direkt in main.c Datei gehabt, jetzt habe ich die Sachen für 
flash Speicher (lesen/schreiben/löschen) in eine flashop.c Datei 
geschrieben, nun bleibt aber der ESP8266 nach dem Lesen stehen und 
startet sich neu kurz danach.
Ich vermute, dass ich etwas in meinem Code falsch habe, bin in C noch 
nicht richtig fit

Ein Ausschnitt aus main.c
1
...
2
...
3
int ICACHE_FLASH_ATTR isClient(){
4
  //Read config from flash
5
  struct wCLIENTCFG wConfAct; //wifi Konfiguration
6
  struct co2sen co2Conf; //CO2 Interval
7
8
  os_printf("IsCLient func check\n"); //test 1
9
10
  readWifiSetting(wConfAct); //Wifi Konfiguration lesen
11
12
  os_printf("isClient func2 \n"); //test 2
13
...
14
...

Die Funktion "readWifiSetting" aus flashop.c
1
void ICACHE_FLASH_ATTR readWifiSetting(struct wCLIENTCFG *wConf){
2
3
  int readwifi = spi_flash_read((wConfAddr*SPI_FLASH_SEC_SIZE), (uint32*)&wConf, sizeof(struct wCLIENTCFG));
4
  #ifdef DEBUG
5
    if(readwifi == SPI_FLASH_RESULT_ERR){
6
      os_printf("\nRead wifi setting failed...\n");
7
    } else {
8
      os_printf("(12) - read wifi Config from flash: %d\n", readwifi);
9
    }
10
  #endif
11
}

Hier noch die Ausgabe von ESP:
1
Start:
2
RGB: 65536,65536,65536
3
Start Mode Check 
4
IsCLient func check
5
(12) - read wifi Config from flash: 0

Also gelesen wurde es ohne Fehler, aber weiter läuft es nicht.

Kann mir jemand sagen, ob die Funktion, die ich erstellt habe korrekt 
ist bzw. vielleicht macht man das so nicht?

von Gaast (Gast)


Lesenswert?

> (uint32*)&wConf

Müsste das nicht (uint32*)wConf heissen? Ist ja schon ein Pointer.

von de1m (Gast)


Lesenswert?

das ging aber schnell, danke!! Es lag tatsächlich dran.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.