Alle Arduino Stream-Funktionen, wie Lesen, Schreiben, Drucken, ...
werden ebenfalls unterstützt.
Gemeinsame Nutzung der CPU-Zeit mit dem RF-Teil
Eine Sache, die Sie beim Schreiben von Programmen für den ESP8266
beachten müssen, ist, dass Ihr Sketch Ressourcen (CPU-Zeit und
Speicher) mit dem WLAN- und TCP-Stack (der Software, die im Hintergrund
läuft und alle WLAN- und IP-Verbindungen handhabt) teilen muss. Wenn
die Ausführung Ihres Codes zu lange dauert und Sie die TCP-Stacks nicht
machen lassen, könnte es zu einem Absturz kommen oder Sie könnten
Daten verlieren. Es ist am besten, die Ausführungszeit Ihres Codes unter
ein paar hundert Millisekunden zu halten. Jedes Mal, wenn der Haupt-loop
wiederholt wird, gibt Ihr Sketch dem WLAN und TCP zugunsten nach, um
alle WLAN- und TCP-Anfragen zu bearbeiten. Wenn Ihr loop länger dauert,
müssen Sie den Wifi/TCP-Stacks explizit CPU-Zeit geben, indem Sie
include delay(0) oder yield() verwenden. Wenn Sie das nicht tun,
funktioniert die Netzwerkkommunikation nicht wie erwartet, und wenn sie
länger als 3 Sekunden dauert, setzt der soft WDT (Watchdog-Timer) das
ESP zurück. Wenn der soft WDT deaktiviert ist, setzt der Hardware-WDT
nach etwas mehr als 8 Sekunden den Chip zurück. Aus der Sicht eines
Mikrocontrollers sind 3 Sekunden jedoch eine sehr lange Zeit (240 Millionen
Taktzyklen), so dass Sie davon nicht betroffen sind, es sei denn, Sie führen
ein extremes Zahlencrunching durch oder senden extrem lange Strings
über die serielle Schnittstelle. Denken Sie einfach daran, dass Sie yield()
innerhalb Ihrer for- oder while-loops hinzufügen, die länger als, sagen wir,
100ms dauern könnten.