ich habe ein etwas umfangreicheres Projekt, bei dem ich eine LED Lampensteuerung neben einer lokalen Steuerung über Display und Keypad auch über WLAN steuern möchte.
Soweit funktioniert alles einwandfrei.
Jedoch wenn ich im Stresstest massiv Daten über WLAN an den ESP8266 sende, kommt es nach einer gewissen Zeit zu korrupten Speicherbereichen.
Empfangene Daten werden in einem 256 Byte Char Array abgespeichert und Sequenziell abgearbeitet.
Wenn einzelne Sequenzen abgearbeitet wurden, verschiebe ich anschließend mittels memmove den noch verbleibenden Buffer an den Anfang des Arrays und fülle den verbleibenden Bereich mit neuen Daten.
Der Buffer ist eigentlich nie voll und die Routine:
ich bin auch am Thema ESP8266 dran. Bei mir kommt es unter UDP-Senden ab und zu mal vor, daß ich
kein Ping mehr absetzen kann und sich bei mir der Arduino (von mir so gewollt) neustartet, wenn die serielle Schnittstelle für den ESP nicht mehr verfügbar ist.
Ich kann den Fehler auch nicht nachstellen, mal passiert nichts eine halbe Stunde lang, manchmal
alle 2-3 Minuten. Habe noch nicht rausbekommen, warum !
TCP ist mir zu frickelig, da nehm ich später lieber den CC3000.
Wie und in welche Richtung sendest Du die Daten, suche noch nach einer Möglichkeit, über UDP Daten zu mit dem Modul zu empfangen.
a) Ein Programm macht nicht was du willst, sondern das was programmiert wurde.
b) Die Abwesenheit von Fehlern ist nicht nachweisbar.
c) isso ...
... will sagen: Bei komplexen Projekten gibts eigentlich so viele Fehlemöglichkeiten, dass es kaum möglich ist, da komplett durchzuehen. Noch dazu, wenn Andere bzw. Fremde mitspielen ...
Klugscheiss: Hättest den Stresstest machen sollen, bevor dein Programm den heutigen Umfang hat! :o
@ElEspanol
Ich habe die Arrays stück für stück ausgeschlossen, indem ich die betreffenden Bereiche umgeschrieben habe (ohne arrays).
Die Firmware ist die aktuell verfügbare Original.
Baudrate über Hardware Serial ist 57600
UDP könnte ich noch versuchen. Allerdings finde ich Protokolle ohne Fehlerkontrolle unschön.
soll ich dir jetzt X Fundstellen aufzählen, wo steht, das die Eingänge 5V tolerant sind? Bei mir schon monatelang so in Betrieb. Bei der Versorgungsspannung habe ich 2 Dioden in Reihe davor.
Die Angaben auf Seite 15 des angeführten Datenblattes interpretiere ich so, dass es ab 5,8 bis 6V Ärger gibt.