我有一个从 eBay 购买的被描述为“ESP-01S”的东西。我已将它连接到 Arduino Mega 板上的 USB 串行 TX/RX 以与其
通信。我正在使用分压器将 5v TX 转换为 3.3v,并且 GND 连接到 Arduino 上的 RESET 以防止其干扰。
通过该设置,我可以使用 AT 命令成功地与 ESP-01S 通信。它将连接到 WiFi 并愉快地发送/接收数据。
但是我似乎无法让它在串行编程模式下响应任何事情。我将 GPIO0 连接到 GND,将 GPIO2 连接到 3.3 V VCC(通过 10k 电阻)。我正在使用 esptool.py (
https://github.com/espressif/esptool ) 尝试与其通信,使用这些命令来测试连接:
esptool.py --port [path_to_port] --baud 74880 --trace read_mac
esptool.py --port [path_to_port] --baud 74880 --trace chip_id
跟踪显示 esptool 发送内容但没有返回。
如果我在 arduino 软件中使用串行监视器并以 74880 波特率打开端口,GPIO0 == 0,GPIO2 == 1 立即退出重置(我通过手动连接 RST 到 GND 的电线然后移除它来重置)出现:
ets Jan 8 2013,rst cause:2, boot mode:(1,7)
所以它似乎通信正常,只是不响应任何命令。在此模式下尝试 AT 命令无效。
当我把它调到从闪存启动时(GPIO0 == 1,GPIO2 == 1)我在串行监视器上得到以下信息(再次以 74880 波特率):ets Jan 8 2013,rst cause:2, boot mode
:( 3,7)
加载 0x40100000,len 2408,房间 16
tail 8
chksum 0xe5
加载 0x3ffe8000,len 776,房间 0
tail 8
chksum 0x84
加载 0x3ffe8310,len 632,房间 0
tail 8
chksum 0xd8
csum 0xd8
第二启动版本:1.6
SPI 速度:40MHz
SPI 模式: QIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
rf cal sector: 249
rf[112] : 00
rf[113] : 00
rf[114] : 01
SDK ver: 2.0.0(5a875ba ) 编译于 2016 年 8 月 9 日 15:12:27
phy ver: 1055, pp ver: 10.2
从那时起,您需要切换到 115200,它会愉快地使用 AT 命令进行通信(包括连接到 WiFi 和发送/接收数据,如前所述)。
'AT+GMR' 给出如下响应:
AT version:1.3.0.0(Jul 14 2016 18:54:01)
SDK version:2.0.0(5a875ba)
Farylink Technology Co., Ltd. v1.0.0.2
May 11 2017 22:23:58
好的
所以看起来基本设置、连接和
电路板本身都没有问题。我可以通过串行方式与它通信,并且一切都可以使用 AT 命令正常工作。只是串行编程模式不想做任何事情。该板以不同的模式启动,因此改变 GPIO 会产生影响,我只是没有得到我期望的串行编程模式。
有任何想法吗?