ESP8266 模拟串口返回乱码
代码如下#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.println("Goodnight moon!");
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
mySerial.println("Hello, world?");
}
void loop() // run over and over
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
串口显示如下
Goodnight moon!
����������
我的应该是果云的ESP8266 。。应该算是8266-12吧。IO口全引出。。已经用配套的串口软件连接电脑设置过了,启动自动连接我家WIFI。都没问题。。但是在和arduino串口通信的时候 用模拟串口就出现乱码。。求破!~ Software serial 走 9600 會否太快了.
有嘗試改成用 hardware serial 或降到 4800 測試嗎?你的程式...好像跟 ESP8266 無關的. 本帖最后由 bigmango 于 2015-3-18 22:58 编辑
Software serial 在 UNO 走9600 完全没有问题.
你看看你的库默认走的是多少,这个模块好像默认是115200的.
我用这个程序可以正常工作.Goodnight moon!
Hello, world?
wrong syntax
ERROR
AT
OK
AT
OK
AT+CIFSR
192.168.0.110
OK
AT+CIFSR
192.168.0.110
OK
AT+CWMODE?
+CWMODE:1
OK
AT+CWLIF
ERROR
AT+CWLIF
ERROR
AT+CWLAP
+CWLAP:(3,"MANGO",-49,"a8:57:4e:2a:fa:a4",1)
+CWLAP:(4,"e-link",-93,"50:bd:5f:49:a5:7c",1)
+CWLAP:(4,"Sandy-KK",-90,"a8:15:4d:c7:96:8a",1)
+CWLAP:(4,"CKK_12D",-88,"1c:fa:68:85:cb:42",6)
+CWLAP:(4,"TP-LINK_42642A",-74,"20:dc:e6:42:64:2a",6)
+CWLAP:(2,"ORICO",-92,"00:e1:40:44:73:fe",9)
+CWLAP:(4,"ChinaNet-UEPx",-85,"28:5f:db:75:d8:30",11)
+CWLAP:(4,"chenbin&zhanke",-81,"14:cf:92:37:f1:8c",11)
OK bigmango 发表于 2015-3-18 22:55 static/image/common/back.gif
Software serial 在 UNO 走9600 完全没有问题.
你看看你的库默认走的是多少,这个模块好像默认是115200的.
...
= =我改成115200和4800都试了下。。反正软串口收到的就是乱码。。发送AT有回复信息锝。可是就是乱的。。 Super169 发表于 2015-3-18 22:34 static/image/common/back.gif
Software serial 走 9600 會否太快了.
有嘗試改成用 hardware serial 或降到 4800 測試嗎?你的程式...好 ...
8266模块通过软串口接在10.11脚上。。。 我是软的接在2,3上.
不知道你用的是哪个库.我用的是这个,在1.60和1.61上都可以使用. bigmango 发表于 2015-3-19 00:16 static/image/common/back.gif
我是软的接在2,3上.
不知道你用的是哪个库.我用的是这个,在1.60和1.61上都可以使用.
能给份你完整的程序看看吗? 你的loop里用的是if应该改成while,用Uno连接esp时,软串口跟硬串口之间同时接受数据时会产生冲突,出现乱码的,因为他们公用一个中断 hytrao 发表于 2015-3-19 10:48 static/image/common/back.gif
你的loop里用的是if应该改成while,用Uno连接esp时,软串口跟硬串口之间同时接受数据时会产生冲突,出现乱码 ...
Goodnight moon!
Hello, wo�ld?
!���K5 AT
AT AT
AT AT
AT AT
AT AT
AT AT
AT AT
AT
AT
AT现在变成这种情况了?难道是我这程序有问题吗?为何软串口读取的数据还是AT?根据手册正常值应该是OK。。 我的程序就是你的呀,你用的是arduino 的串口监视工具吧,这个输出默认是没有回车换行的,下面有个下拉的选项,你改成both cr ln
另外,这个固件是不忍AT以外的数据的,发hello world是没有意义的
,建议你升级固件到905可以查询和设置gpio口的数据
bigmango 发表于 2015-3-19 19:36 static/image/common/back.gif
另外,这个固件是不忍AT以外的数据的,发hello world是没有意义的
,建议你升级固件到905可以查询和设置gp ...
发HELLO WORLD是为了检测软串口能否正常工作。。。。。
无所谓了,你看看发回车换行是不是可以正常了先
你发一个AT+RST bigmango 发表于 2015-3-19 19:56 static/image/common/back.gif
你发一个AT+RST
现在不知道为什么返回不是乱码了。。但是就变成我发送什么返回什么了。。发AT返回AT。
发AT+RST返回也AT+RST发送1返回1。。难道是代码错了?