完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在配置MQTT客户端时,因为我想接收很大的数据包(最大500k)。因此我想一次接收完成(扩展了psram)。所以我在配置MQTT客户端时将栈大小设置为114688,将接收缓冲区大小设置为102400.但是这样就导致esp_mqtt_client_start()这个函数无法返回,且报错E (7296) MQTT_CLIENT: Error create mqtt task;我想咨询一下,idf(v4.1)对MQTT的栈大小有最大限制么?最大可以设多大呢?
|
|
相关推荐
1个回答
|
|
在处理这个问题时,我们可以分为以下几个步骤:
1. **确认问题**:首先,我们需要确认问题确实是由于栈大小分配过大导致的。从你的描述来看,这个可能性很大。 2. **查找文档**:查看ESP-IDF(版本4.1)的官方文档,了解MQTT客户端栈大小的限制。但是,文档中可能没有明确的最大栈大小限制。 3. **调整栈大小**:尝试减小栈大小,例如将栈大小设置为51200(50KB),看看是否能够成功初始化MQTT客户端。 4. **分批接收数据**:如果仍然无法解决问题,可以考虑将大的数据包分批次接收。这样,即使栈大小较小,也能够处理大的数据包。 5. **使用外部存储**:如果分批接收数据仍然无法满足需求,可以考虑将接收到的数据存储到外部存储设备(如SD卡)中,以减少对栈的需求。 6. **检查其他配置**:除了栈大小之外,还需要检查其他配置,如任务优先级、任务数量等,以确保它们不会导致初始化失败。 |
|
|
|
只有小组成员才能发言,加入小组>>
219个成员聚集在这个小组
加入小组546 浏览 1 评论
2448 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
474浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
252浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
266浏览 2评论
用AT+CIPSNTPCFG=1,8,\"cn.ntp.org.cn\",\"ntp.sjtu.edu.cn\"更新不了时间怎么处理?
701浏览 2评论
360浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-4-20 09:14 , Processed in 0.993764 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191