创客出手

目录

ESP32常见问题小结

esp32模块

升级Mac系统后出现"python": executable file not found in $PATH

Apple 从 macOS 12.3 中删除了旧的 Python 2,但是Arduino ESP32 依赖于 Python 解释器,在 Arduino IDE 中构建可能会失败并出现错误:

"python": executable file not found in $PATH

我们需要将Arduino的相关配置更改为 python3 就可以解决,以esp32 2.0.2版本为例,修改一下文件。

~/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/platform.txt

找到这一行,

tools.gen_esp32part.cmd=python "{runtime.platform.path}/tools/gen_esp32part.py"

将python改成python3,

tools.gen_esp32part.cmd=python3 "{runtime.platform.path}/tools/gen_esp32part.py"

"Brownout detector was triggered" 错误

出现错误的原因是因为芯片检测到系统电压低于阈值(也称为“掉电电压”),它会关闭处理器,这是为了保留内存内容并避免损坏。导致这个错误的成因往往是如下几点。

  1. USB 数据线质量差;
  2. USB线太长;
  3. 电路板有一些缺陷(焊点不良);

通常可以通过更换质量更好数据线来解决这个问题,更换后还是不能解决,可以考虑通过程序关闭掉电检测的功能,代码如下,

#include “soc/soc.h” //disable brownour problems
#include “soc/rtc_cntl_reg.h” //disable brownour problems

WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector in the setup.

"esp_core_dump_flash: Core dump flash config is corrupted! CRC=0x7bd5c66f instead of 0x0"错误

出错的原因有可能是芯片的内部SPI接口质量问题,如果改用低速一点的烧录芯片Flash Mode,也行能让芯片复活。如果使用Arduino默认的QIO,是最高速的烧录方式,改成DIO问题可能就会解决。

file
这里简单介绍一下esp32的烧录方式,一共有四种:DIO, DOUT, QIO 和 QOUT,

  • QIO: 最快的烧录方式,使用了4个pin来做地址和数据传输
  • QOUT:比QIO慢15%,使用了4个pin做数据传输
  • DIO:比QIO慢45%,使用了2个pin做地址和数据传输
  • DIO:比QIO慢55%,使用了2个pin做数据传输
更多关于 的文章
关注创客出手公众号

关注创客出手