Gast
#7229562
Hi, es sieht so aus, als könnte ich innerhalb eines Request Handlers der ESPAsyncWebServer Lib kein Serial.readString() o.ä. verwenden, weil diese Funktionen yield verwenden, yield und delay sind nicht erlaubt. Der Esp8266 kriegt einen Panic und startet neu. Ich möchte Daten, die ich im Request Handler per UART von einer Peripherie einlese, als JSON response über HTTP herausgeben. Die Daten muss ich komplett einlesen und dafür sollte es einen Timeout geben. Kann ich nicht einfach den Code von Serial.readString() wiederverwenden, aber ohne den yield call? Ich verstehe es so, dass yield dazu da ist, damit meine Funktion den Scheduler nicht unnötig blockiert. Kann aber nicht einschätzen, was es heißen würde, wenn ich das weglasse? Es geht um keine allzugroßen Datenmengen (< 255 Bytes) und ich kann den Timeout vermutlich ziemlich kurz halten. Hat jemand Ideen oder vielleicht sogar Codebeispiele, wo sowas gelöst wurde?