مشکل تاخیر در خواندن با دستور readStringUntil(‘\r’) در ESP8266
یکی از مشکلات این دستور در نسخه 2.4.2 و پایین تر (نسخه بالاتر رو هنوز بررسی نکردم که این باگ رفع شده یا نه) اینه که حدود 5 ثانیه طول می کشید تا رشته دریافتی رو بخونه که من به روش زیر این مشکل رو حل کردم و به کمترین زمان ممکن رسید (کمتر از نیم ثانیه) و عملکرد دستگاه خیلی سریع شد برای اجرای دستورات دریافتی.
int size; if(size = TCP_Client.available()) { uint8_t* msg = (uint8_t*)malloc(size); TCP_Client.read(msg, size); String Response; for(int I=0; I<size; I++){ Response += char(msg[I]); } free(msg); // String Response = TCP_Client.readStringUntil('\r'); Serial.println(Response); }
5
1
vote
امتیازدهی به مقاله