วันพฤหัสบดีที่ 4 พฤษภาคม พ.ศ. 2560

Node MCU ปัญหา WDT RESET



Node mcu  ถ้าเกิด bug ประมาณนี้  เพราะว่า

1.              ทำ loop หลายรอบ
2.             code มีความยาวมากเกินไป
3.             wifi  หลุดบ่อย
4.             ถ้าไม่ได้แตะ ตัว Hardware เช่น กด หรือ จับไว้

wdt หรือ Watch Dog Timer เป็นวงจรเล็ก ๆ ที่เอาไว้เช็คว่าโปรแกรมยังทำงานปกติในเวลาทีกำหนด ถ้าโปรแกรมทำงานช้ากว่าที่กำหนดแสดงว่าโปรแกรมอาจทำงานไม่ปกติหรือแฮงค์ wdt reset ก็จะเริ่มทำงานเมื่อโปรแกรมทำงานสั่งให้ reset nodemcu ซึ่งเกิดจากโคดมีปัญหา หรือตัว hardware


วิธีแก้  2 วิธี

1.             ปัญหาที่เกี่ยวกับ software
                     ESP.wdtDisable();  ใส่ไว้ใน Void setup()
ESP.wdtFeed(); ใส่ไว้ใน  loop ที่ทำมากที่สุด
2.             ต่อ Circuit PullUp – PullDown ของแต่ละรุ่นที่ใช้ ถ้ามีปัญหาทาง hardware  (วิธีนี้ผมยังไม่เคยลอง)

ตัวที่ใช้ทำ เป็น Node MCU V2 ESP8266- 12E  

ไม่มีความคิดเห็น:

แสดงความคิดเห็น