ESP8266不响应 AT 命令
ESP8266 doesn't respond to AT commands
我有一个Nucleo F103RB和一个Sparkfun ESP8266。
我想通过 Nucleo 向ESP8266发送 AT 命令。
我使用的接线:
TX => D8
RX => D2
GND => GND
3V3 => 3V3
我使用了 Serial1 的D8
和D2
,因为默认情况下D0
和D1
引脚不可用,因为它们由 STLink 虚拟通信端口使用。我还尝试了D10
而不是D8
,以及将RST
放在3V3
上并反转TX
和RX
这是我在mbed上的代码:
#include "mbed.h"
Serial pc (D1, D0);
Serial esp(D8, D2);
int main()
{
pc.baud(115200);
esp.baud(115200);
wait(0.1);
pc.printf("startrn");
esp.printf("AT+RSTrn");
while(true) {
if(pc.readable()) {
char c = pc.getc();
pc.putc(c); //local echo
esp.putc(c);
}
if(esp.readable()) {
pc.printf("reading esp");
char c = esp.getc();
pc.putc(c);
}
}
}
我用Serial
而不是RawSerial
RawSerial
因为它根本不适合我,我不知道为什么。
ESP8266模块不响应出厂固件可用的任何 AT 命令。 无论如何,esp.readable()
都会返回 false,esp.printf("AT+RSTrn");
什么都不做。
主板是全新的,LED 工作正常。
像这样连接 ESP 模块 - 所以CH_PD也高。之后,您可以使用串行直通验证模块是否正常工作(将波特率设置为 115,200(。
可选地将模块的RESET引脚连接到数字引脚。用于重置 ESP 模块(拉低,然后拉高以复位(。
回答我自己的问题...
与您可能在包括 mbed 在内的几个文档中在线找到的内容相反,使用每个字符的直通字符是行不通的,因为模块将逐个解释每个字符。使用puts
而不是putc
解决了我的问题。
相关文章:
- 从命令行c++发送文本文件名
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 使用QProcess执行命令,并将结果存储在QStringList中
- 数组长度,为什么从命令行获取时不能使用它?
- AT 命令响应解析器
- ESP8266不响应 AT 命令
- C++所有 AT 命令的短信返回错误 |PC<->通过蓝牙和winsocket的移动连接
- AT 命令列表作为字符 * 数组
- 使用cubitruck上的c++发送at命令
- C++WinSock蓝牙连接-AT命令-收到错误
- Arduino:AT命令-使用serial.Read()读取串行输出的最后一行
- 将存储在SD卡上的电话号码插入短信发送AT命令Arduino
- 如何在 Arduino 中读取 AT 命令的输出
- 如何显示/保存返回AT命令的值
- AT命令,发送短信与Qt
- 如何在linux中使用c++代码读取AT命令
- 输出AT命令的c++代码
- Qt:发送AT命令到GPRS调制解调器