【问题标题】:Cannot program ESP8266无法编程 ESP8266
【发布时间】:2015-10-01 01:04:10
【问题描述】:

模块上电后蓝灯闪烁,红灯常亮,我什至可以通过wifi连接。但我无法对其进行编程。我尝试了 Arduino IDE、不同的固件闪存(如 NodeMCU、XTCOM)。我正在使用 Arduino Mega。

这是我的初始设置:

VCC - 3.3 V on Arduino
RST - nothing
CH_PD - 3.3 V on Arduino
TX - RX on Arduino (TX is transmitting data to RX, so I don't need a voltage divider, right?)
RX - voltage divider (R1 = 10K, R2 = 20K) - TX on Arduino
GPIO0 - GND on Arduino
GPIO2 - nothing
GND - GND on Arduino

然后我尝试从 Arduino IDE 上传草图并收到以下错误:

warning: espcomm_sync failed 
error: espcomm_open failed

在尝试了不同的 IDE、编程器、串口之后,我尝试了固件刷机,至少看看我是否可以与之通信。例如 NodeMCU 显示“等待 MAC”,GPIO0 接地,没有。

我也尝试将 TX 连接到 TX 并将 RX 连接到 RX,但得到了相同的结果。也尝试通过分压器连接 RX。

通过此设置,蓝色 LED 一直亮着。我记得在某处读过可能由于电源不足而发生的情况, 所以我也尝试在没有分压器的情况下连接两个引脚(通电后蓝色 LED 仍在闪烁,所以希望我没有烧毁它们)。 我还尝试将 GPIO0 连接到 3.3V 并且根本不将其连接到任何东西,将 RST 连接到 3.3V,也将 GPIO2 连接到地。 在 Mega 上有 4 组 TX 和 RX 引脚,所以我尝试了所有的 TX/RX0,1,2 和 3。

仍然不知道发生了什么:(

【问题讨论】:

    标签: arduino wifi rxtx arduino-ide esp8266


    【解决方案1】:

    原因可能是以下两种情况之一:

    1. 电量不足。尝试从外部 3.3V 电源(如实验室电源)为 ESP8266 供电。两节充满电的 AA 电池也应该可以解决问题。确保您的串行适配器的 GND 引脚也连接到 ESP 的 GND 引脚,以提供公共接地。

    2. ESP8266 未处于编程模式。确保 GPIO0 连接到 GND 并关闭 ESP 并再次打开。然后它将启动到编程模式。编程后,您可以将其从 GND 上取下。

    编辑:

    自从这篇文章之后,我实际上遇到了第三个更臭名昭著的原因。一些 ESP8266 模块(尤其是 ESP-12 封装)实际上带有替代的非核心固件。在这种情况下,您必须更新 ESP 上的固件。 Here 是一个很好的教程,教你如何做到这一点。我强烈建议您使用 ESP Flash 下载工具,不幸的是,它仅适用于 Windows,但比在串行终端中更不容易出错。但在踏上这段旅程之前,请确保原因不是#1 或#2。

    【讨论】:

    • 对我来说这是编程模式。在我的模型上,按住 Flash 按钮并按下板上的复位按钮就足以让它进入编程模式。谢谢!
    【解决方案2】:

    我一开始遇到同样的问题,但后来解决了。
    我在答案末尾提供了链接。跟着它走吧。

    使用 ESP8266-01 时要记住的事项:

    1. 您必须为 ESP8266 提供良好的 3.3VDC 电源才能使其工作。不要 从 Arduino 提供 3.3V,而不是使用 LM1117-3.3 稳压器 提供 ESP 电源。 LM1117-3.3 稳压器的输入电压必须高于 7V 或 9V 也很重要。不要将 Arduino 的 5V 电压馈入此稳压器。
    2. R1 应为 1K,R2 应为 2K。有关更多信息,请参阅我在以下文章中为 ESP8266-01 提供的示意图。
    3. ESP8266-01 烧写/烧写的引脚配置,参考以下文章。

    只需按照我文章的“部署-> ESP8266-01 Sketch”部分: https://www.hackster.io/AnuragVasanwala/windows-10-iot-core-hydroflyer-f83190

    【讨论】:

      【解决方案3】:

      当您将其连接到串行端口时,将波特率设置为 74880,然后通电,您应该会看到初始调试信息转储到串行端口。

      你应该看到这样的东西:

       ets Jan  8 2013,rst cause:2, boot mode:(3,6)
      
       load 0x40100000, len 29936, room 16 
       tail 0
       chksum 0xee
       load 0x3ffe8000, len 2304, room 8 
       tail 8
       chksum 0x51
       load 0x3ffe8900, len 8, room 0 
       tail 8
       chksum 0x9e
       csum 0x9e
      

      如果您在启动时按住 GPIO(进入闪存模式),您应该会看到这个

      ets Jan  8 2013,rst cause:2, boot mode:(1,6)
      

      注意从 (3,6) 到 (1,6) 的变化

      如果您没有看到任何显示,请仔细检查您的 TX RX 和 GND 连接。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-09
        • 2018-02-09
        • 1970-01-01
        • 2016-06-11
        • 2017-01-03
        • 1970-01-01
        • 2021-03-24
        • 1970-01-01
        相关资源
        最近更新 更多