乐鑫技术交流
直播中

闷~~

9年用户 792经验值
擅长:可编程逻辑
私信 关注
[问答]

ESP8266多次TCP请求后wdt重置了怎么解决?

今天在使用最新固件 V1 测试ESP8266时,我进行了以下重置:
我希望这份报告是有用的

ets Jan  8 2013,rst cause:4, boot mode:(3,7)

WDT 复位
负载 0x40100000,LEN 1320,房间 16
尾 8
Chksum 0xb8
负载 0x3ffe8000,len 776,房间 0
尾 8
Chksum 0xd9
负载 0x3ffe8308,LEN 412,房间 0
尾部 12
Chksum 0xb9
CSUM 0xb9

第2个启动版本:1.3(B3)
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size : 4Mbit
跳转到运行 user1


回帖(1)

俞舟群

2024-7-18 18:04:00
从您提供的信息来看,您的ESP8266设备在进行多次TCP请求后,由于看门狗定时器(WDT)超时导致重置。为了解决这个问题,我们可以采取以下步骤:

1. **禁用看门狗定时器**:如果您不需要看门狗定时器来监控您的设备,您可以选择禁用它。这可以通过修改ESP8266的启动参数来实现。在启动参数中,将`WDT`设置为`0`,以禁用看门狗定时器。

2. **调整看门狗定时器超时时间**:如果您需要看门狗定时器,但希望延长其超时时间,可以通过修改启动参数来实现。在启动参数中,将`WDT`设置为一个较大的值,例如`120`,这将使看门狗定时器的超时时间从默认的2秒增加到120秒。

3. **优化TCP请求处理**:检查您的代码,确保在处理TCP请求时,尽量减少阻塞操作。使用非阻塞的网络库,如`lwIP`,可以帮助您更有效地处理TCP请求。

4. **增加系统空闲时间**:在您的代码中,确保在处理TCP请求时,给系统留出足够的空闲时间。这可以通过在循环中添加延时(例如`vTaskDelay`)来实现。这样可以确保看门狗定时器有足够的时间重置。

5. **检查内存泄漏**:长时间运行的TCP请求可能会导致内存泄漏。确保您的代码中没有内存泄漏,或者使用内存管理工具来检测和修复内存泄漏问题。

6. **升级固件**:您提到使用的是最新固件V1,但可能存在一些已知的问题。尝试升级到最新版本的固件,看看是否解决了问题。

7. **查看日志**:在您的代码中添加日志输出,以便在出现问题时能够快速定位问题所在。这可以帮助您更好地理解问题的原因,并找到解决方案。

通过以上步骤,您应该能够解决ESP8266在多次TCP请求后由于看门狗定时器重置的问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更准确地帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分