完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
工程是基于adf的 a2dp_sink_and_hfp_example 历程更改的,增加了 lvgl以及wifi功能
esp32 sta模式下,做为web服务器,返回给客户端html,客户端通过html发送http post请求,esp32返回json格式内容 idf为4.3 客户端发送post请求,esp32大约可以正常返回10次,以后就会出现 W (33195) wifi:m f null 然后出现: E (19935) i2c: i2c_master_start(932): i2c command link error E (19935) i2c: i2c_master_write_byte(985): i2c command link error E (19945) i2c: i2c_master_write_byte(985): i2c command link error E (19945) i2c: i2c_master_write_byte(985): i2c command link error E (19955) i2c: i2c_master_stop(945): i2c command link error E (19965) i2c: i2c_master_cmd_begin(1168): i2c command link error 再然后就挂了 问题:是我每次处理完请求后没有释放什么资源吗?json相关的我已经释放了 |
|
相关推荐
1个回答
|
|
从您提供的信息来看,这个问题可能是由于ESP32在处理大量HTTP请求时,系统资源不足或者内存泄漏导致的。以下是一些建议来解决这个问题:
1. **内存检查**:检查您的代码,确保没有内存泄漏。使用`heap_caps_check_integrity_all()`和`esp_get_free_heap_size()`函数来监控内存使用情况。 2. **优化代码**:优化您的代码,减少不必要的内存分配和释放。例如,使用`static`变量而不是`malloc`和`free`。 3. **增加堆大小**:尝试增加ESP32的堆大小。在`make menuconfig`中,选择`Component config > ESP32-specific > Min. stack size for idle co-routine`,将其设置为更高的值。 4. **减少HTTP请求的频率**:如果可能的话,尝试减少客户端发送HTTP POST请求的频率。 5. **使用任务调度**:使用ESP-IDF的任务调度功能,将HTTP请求处理分散到不同的任务中,以避免单个任务占用过多资源。 6. **检查I2C通信**:从错误日志来看,I2C通信可能出现问题。检查您的I2C设备和代码,确保I2C通信正常。 7. **更新ESP-IDF版本**:您当前使用的是ESP-IDF 4.3版本,尝试升级到最新版本,以获取可能的修复和性能改进。 8. **查看ESP-IDF的issue和论坛**:搜索ESP-IDF的issue和论坛,看看是否有其他人遇到类似问题,并查看他们是如何解决的。 9. **调试和日志**:增加更多的调试信息和日志,以便更好地了解问题发生的原因。 希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。 |
|
|
|
只有小组成员才能发言,加入小组>>
1083 浏览 1 评论
569浏览 6评论
475浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
458浏览 5评论
459浏览 4评论
430浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-13 05:52 , Processed in 0.788171 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号