facho 2023-11-14 09:33 采纳率: 25%
浏览 7
已结题

micropython esp32 RuntimeError递归深度错误

正则用了(.+)或(.*),数据过长就会遇到这个错误怎么办

img


esp32没有sys.setrecursionlimit这个方法,还能用什么方法修改?修改esp32固件参数可以吗,怎么修改?

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-14 12:08
    关注

    【以下回答由 GPT 生成】

    在micropython esp32中,可以通过修改固件参数来修改递归深度限制。下面是解决该问题的具体步骤:

    1. 首先,需要下载esp-idf工具链,这是一个用于编译ESP32固件的工具集。你可以从ESP-IDF官方网站(https://github.com/espressif/esp-idf)上下载并安装。

    2. 打开esp-idf安装目录,找到"components"文件夹,在该文件夹下找到"esp32"文件夹。

    3. 进入"esp32"文件夹,找到"include"文件夹。

    4. 在"include"文件夹中找到"esp_system.h"文件,用文本编辑器打开。

    5. 在"esp_system.h"文件中,搜索"CONFIG_ESP32_DPORT_WORKAROUND",找到该宏定义。

    6. 在该宏定义的下面,可以找到"CONFIG_ESP32_DEFAULT_CPU_FREQ_80"以及其他类似的宏定义。

    7. 在这些宏定义的下面,添加以下代码: C #define CONFIG_MICROPY_STACK_DEPTH 2048

    8. 这里将递归深度设置为2048,你可以根据你的需求修改这个值。

    9. 保存并关闭"esp_system.h"文件。

    10. 接下来,进入esp-idf安装目录,并打开"components"文件夹,在该文件夹下找到"microphython"文件夹。

    11. 进入"microphython"文件夹,找到"py"文件夹。

    12. 在"py"文件夹中找到"pyconfig.h"文件,用文本编辑器打开。

    13. 在"pyconfig.h"文件中,搜索"MICROPY_PY_SYS_SETRECUSIONLIMIT",找到该宏定义。

    14. 将该宏定义的值修改为0(关闭sys.setrecursionlimit功能)。 C #define MICROPY_PY_SYS_SETRECUSIONLIMIT (0)

    15. 保存并关闭"pyconfig.h"文件。

    16. 最后,重新编译并烧录ESP32固件。具体的编译和烧录步骤,请参考esp-idf官方文档。

    通过以上步骤,你就可以成功修改micropython esp32固件的递归深度限制,并解决递归深度错误的问题。如果你不熟悉esp-idf的使用,可以参考官方文档或者搜索相关资料以获取更详细的指导。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月20日
  • 创建了问题 11月14日

悬赏问题

  • ¥15 伪装视频时长问题修改MP4的时长问题,
  • ¥15 JETSON NANO
  • ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
  • ¥20 关于 openpyxl 处理excel文件地问题
  • ¥15 MS中不知道高分子的构型怎么构建模型
  • ¥60 QQOP数据,什么是op数据号,怎么提取op数据!能不能大量提取(语言-c语言)
  • ¥15 matlab代码 关于微分方程和嵌套的分段函数。
  • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
  • ¥15 求caverdock使用教程
  • ¥15 Coze智能助手搭建过程中的问题请教