我目前正在为 Arduino Mega 和 ESP8266 ESP 12S 进行 AT 通信项目。我们遇到了一些技术问题,想问一个问题。
首先,我目前拥有的零件清单是:
阿杜诺兆
FTDI转换器
ESP 12S + 分线板(焊接)(https://www.amazon.com/YwRobot-ESP-12S-Wireless-Transmissions-Compatible/dp/B07N192V7Z)(我在其他地方买了相同的零件。)
直流到直流转换器
固件更新时的引脚排列如下:
PIN <- 串行适配器
复位 <-3.3V
CH_PD <-3.3V
VCC <-3.3V
GPIO0 <-3.3V
GPIO15 <-GND
接地 <-接地
接收 <-TX
TX <-RX
我没有使用底部的四个引脚,而是直接连接到两侧的引脚。
连接时没有连接电阻。
更新固件后,我收到以下消息。
离开……
未能离开 Flash 模式
因此,我们确定固件已成功更新。
之后,我尝试通过更改引脚分配使用串行监视器获得 AT 响应。
另一个引脚分配如下:
PIN 串行适配器
RESET <-3.3V(上拉)
CH_PD <-3.3V(上拉)
VCC <-3.3V(通过直流到直流转换器)
GPIO0 <-3.3V(上拉)
GPIO15 <-GND(下拉)
GND <-GND(连接到 VCC 和 100nF 电容器。)
RX <-TX(我将它焊接到分线板上,所以当时没有连接电阻。)
TX <-RX
这是我使用的代码:
♯ 包括 <SoftwareSerial.h>
无效设置(){
uint32_t 波特 = 115200;
Serial.begin(波特);
Serial2.开始 115200;
Serial.print("SETUP !!@");
Serial.println(波特);
Serial2.println("AT\r\n");
}
无效循环()
{
而(Serial2.available()> 0){
char a = Serial2.read();
如果 (a == '\ 0')
继续;
if (a! = '\r' && a! = '\n' && (a <32))
继续;
序列号.print (a);
}
而(Serial.available()> 0)
{
char a = Serial.read ();
Serial.write (a);
Serial2.write(a);
}
}
当前串行监视器未收到 AT 响应。
所以我再次尝试使用不同的引脚如下:
PIN 串行适配器
VCC <-5V(通过DC to DC Conveter,分线板已确认在5V下工作)
接地 <-接地
RX <-TX(我将它焊接到分线板上,所以当时没有连接电阻。)
TX <-RX
即使我更改了代码的波特率和串行监视器的波特率,我也无法收到响应。
我已经连接了上拉和下拉电阻,但没有连接电阻。
但结果是一样的。
所以我尝试在不使用 Arudino Mega 的情况下使用 FTDI Converter 上传 Blink 示例。
引脚排列与固件更新相同。
但这也不起作用。
目前,Arudino Mega 无法与 ESP 12S 通信,也无法与 FTDI 转换器通信。
但是,当波特率为 74880 时,按下复位按钮,串口监视器上会输出以下故障排除。
等 2013 年 1 月 8 日,第一个原因:2,引导模式:(3,6)
加载 0x40100000,len 612,房间 16
尾巴 4
校验和 0xef
加载 0x00000000,len 0,房间 4
尾0
校验和 0xef
嗬 12 尾 0 房间 4
加载 0x00000000,len 0,房间 12
尾0
校验和 0xef
csum 0xef
csum 错误
ets_main.c
所以我想问的问题是:
**1。我想知道我是否使用 ESP 12S 进行引脚排列。
无需更新固件,因为它已经为使用方便而制作。有没有办法把它找回来?
ESP 12S 分线板上有一个 RST 按钮和一个 PROGRAM 按钮。
如果我想解决上面提到的问题,我应该怎么做?
我想确定 ESP 12S 是否出现故障。有没有合适的方法来判断这个?除了上面提到的尝试外,还有各种连接和继续的方式,所以我怀疑设备坏了。
我不想下次崩溃。有没有办法安全连接?
请告诉我您需要指出的其他任何内容!**
最后,感谢您阅读这篇长文,感谢您使用翻译器缺乏沟通。
当我打电话给 Esp 12s AT 时,它非常渴望得到一个 OK。