مشکل تاخیر در خواندن با دستور readStringUntil(‘\r’) در ESP8266

محتوا

مشکل تاخیر در خواندن با دستور 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
امتیازدهی به مقاله
بخش نظرات
مشترک شوید
Notify of
guest
0 نظرات
قدیمی ترین
جدیدترین بیشترین آرای
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
×
×

سبد خرید