完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用 esp_iot_sdk_v0.9.6_b1 的固件
在服务器模式下,如果我使用 curl 连接到服务器,然后在 curl 上执行 CTRL-C,服务器将重置并且程序停止运行。 我认为如果客户端断开连接,服务器一定不会挂起。实际上,由于客户端启动了连接,因此客户端理所当然地应该能够断开连接,而不会对服务器造成任何问题。 IPD,0,80:GET /测试 HTTP/1.1 用户代理:curl/7.33.0 主机:192.168.1.11 接受:*/* 0,连接失败 ets 2013 年 1 月 8 日,第一个原因:4,启动模式:(1,1) WDT 复位 |
|
相关推荐
1个回答
|
|
从您的描述来看,当客户端断开连接时,您的 ESP8266 设备似乎触发了看门狗定时器(WDT)重置。这可能是由于程序在处理连接时出现了问题。以下是一些建议,以帮助您解决这个问题:
1. **检查 TCP 连接处理**:确保您的程序正确处理了 TCP 连接的建立和断开。在连接断开时,确保释放了所有相关资源,如内存和文件描述符。 2. **增加看门狗定时器超时时间**:如果问题是由于看门狗定时器超时导致的,您可以尝试增加看门狗定时器的超时时间。这可以通过修改 `user/user_main.c` 文件中的 `system_set_os_print(0);` 行,将其改为 `system_set_os_print(1);` 来实现。 3. **优化程序逻辑**:检查您的程序逻辑,确保在处理连接时没有出现死循环或阻塞操作。这可能导致看门狗定时器无法正常工作。 4. **使用非阻塞 I/O**:考虑使用非阻塞 I/O 来处理网络连接。这可以确保您的程序在等待网络操作时不会阻塞,从而避免触发看门狗定时器。 5. **调试和日志记录**:在程序中添加调试信息和日志记录,以便在出现问题时能够更容易地定位问题所在。您可以使用 `os_printf` 函数来输出调试信息。 6. **更新固件**:虽然您正在使用的是 esp_iot_sdk_v0.9.6_b1 固件,但建议您检查是否有更新的固件版本。新版本的固件可能已经修复了您遇到的问题。 7. **检查硬件连接**:确保您的 ESP8266 设备与电源和其他外围设备之间的连接正确。有时,硬件问题也可能导致看门狗定时器重置。 8. **使用 ESP8266 非 OS 版本**:如果您的问题仍然无法解决,您可以尝试使用非 OS 版本的 ESP8266 固件。这可能会减少系统开销,从而降低触发看门狗定时器的可能性。 通过以上建议,您应该能够找到并解决导致看门狗定时器重置的问题。希望这些建议对您有所帮助! |
|
|
|
只有小组成员才能发言,加入小组>>
357 浏览 0 评论
1200 浏览 1 评论
590浏览 6评论
484浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
468浏览 5评论
467浏览 4评论
445浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 00:45 , Processed in 1.010531 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号