mikrocontroller.net

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


Autor: de1m (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
...
...
int ICACHE_FLASH_ATTR isClient(){
  //Read config from flash
  struct wCLIENTCFG wConfAct; //wifi Konfiguration
  struct co2sen co2Conf; //CO2 Interval

  os_printf("IsCLient func check\n"); //test 1

  readWifiSetting(wConfAct); //Wifi Konfiguration lesen

  os_printf("isClient func2 \n"); //test 2
...
...

Die Funktion "readWifiSetting" aus flashop.c
void ICACHE_FLASH_ATTR readWifiSetting(struct wCLIENTCFG *wConf){

  int readwifi = spi_flash_read((wConfAddr*SPI_FLASH_SEC_SIZE), (uint32*)&wConf, sizeof(struct wCLIENTCFG));
  #ifdef DEBUG
    if(readwifi == SPI_FLASH_RESULT_ERR){
      os_printf("\nRead wifi setting failed...\n");
    } else {
      os_printf("(12) - read wifi Config from flash: %d\n", readwifi);
    }
  #endif
}

Hier noch die Ausgabe von ESP:
Start:
RGB: 65536,65536,65536
Start Mode Check 
IsCLient func check
(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?

Autor: Gaast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> (uint32*)&wConf

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

Autor: de1m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ging aber schnell, danke!! Es lag tatsächlich dran.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.