查看: 357|回复: 1

AT+RST返回信息过长,串口无法正常读取

[复制链接]

该用户从未签到

发表于 2018-9-23 14:52 | 显示全部楼层 |阅读模式
ESP8266,使用Ai-Thinker固件Ai Cloud2.0,升级成功,AT+RST指令返回信息如下:
AT+RST

OK
WIFI DISCONNECT

ets Jan  8 2013,rst cause:2, boot mode3,6)

load 0x40100000, len 2592, room 16
tail 0
chksum 0xf3
load 0x3ffe8000, len 764, room 8
tail 4
chksum 0x92
load 0x3ffe82fc, len 676, room 4
tail 0
chksum 0x22
csum 0x22

2nd boot version : 1.7(5d6f877)
SPI Speed : 40MHz
SPI Mode : DOUT
SPI Flash Size & Map: 32Mbit(1024KB+1024KB)
jump to run user1 @ 1000

å„.Ï.ÇnÏìrÇÚn|Ï.l.lÏè.l.bì...û|.sì.lúo‡.Én‚..l`.å‚rílål.å...l`.å‚sìlÏl.å...l`.å„ríl.èü.å..ll`.rlèÉslåû„åc.ååcp|..cpÇåèpüåé.b.ÏÛoÓÄ.nn„....ll‡‚..lèå.lÏèlåé.Ä.ålèrrlÄ.n¸.åû‚åc.llÏ.è..c...åû‚åc.l.åc.slrlrÚnú„.å.ÏÉ..cr.cÏ„bÏéú.É.é.íååå‚lcÏbÏÚoúüÄÄ.cr.bÏ„bÏéú.É.é.íååå„lc.l.ÉÇ.loúl`..ÇÉ.loúprl..opÄ.Ïìb‚íc.ÏÇ.bÉc.cÏÄbllååcpú.åbécppln‡éro.ålèr|ålès|ålér|..cúû.Élååcpú.åbécpcl`..r‚nl..l`.
Ai-Thinker Technology Co., Ltd.
Integrated AiCloud 2.0 v0.0.0.7s

ready


串口交互代码如下:
[C++] 纯文本查看 复制代码
/**************************************************************************
功能:用于发送AT指令,返回接收到的返回信息
输入参量:
        String command:AT指令
        String receiveKeyword:等待接收到的关键字
        const int timeout:定义多长时间没接收到关键字退出该函数
返回:
        String:返回接收到的AT返回信息
**************************************************************************/
String WIFI::sendATCommandUntil(String command,String receiveKeyword,const long timeout) {
        String response = "";
        esp.print(command); // send the read character to the esp8266

        DBGLN("-1---------------");
        DBG("send:");
        DBGLN(command);
        DBGLN("-2---------------");

        long int time = millis();
        bool found = false;
        while ( (time + timeout) > millis()) {
                while (esp.available()) {
                        // The esp has data so display its output to the serial window
                        char c = esp.read(); // read the next character.
                        response += c;
                }
                esp.flush();        //清除接收缓冲区
                if(response.indexOf(receiveKeyword)!=-1) {
                        DBGLN("-3-------------------------------");

                        DBG("debug message receive Keyword:");
                        DBGLN(receiveKeyword);
                        DBGLN("-4-------------------------------");
                        found = true;
                        break;
                }
        }

        if(found == true)
        {
                DBGLN("-5----------receive message------");
                DBG(response);
                DBGLN("-6-------------------------------");
        }
        else
        {
                DBGLN("-7----------not receive Keyword------");
                software_Reset();
        }


        return response;
}


重置操作:
sendATCommandUntil("AT+RST\r\n", "ready", 5000);

因为AT+RST返回信息过长,超过了512个字节,系统无法准确读取到ready,从而每次都进入到 software_Reset(),大家探讨下如何解决。



aicloud_new_ready.png
  • TA的每日心情
    开心
    2018-10-19 08:30
  • 签到天数: 941 天

    [LV.10]以坛为家III

    发表于 2018-9-23 18:00 | 显示全部楼层
    发出这条命令之后,断开串口连接,等待200ms,重新建立连接,发送AT,进行测试,就行了
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    Arduino MEGA 与UNO 通过nRF24L模块通讯
    Arduino MEGA 与UNO 通过n
    之前在深水宝很“实惠”的店铺买了一些原件,随手砍了esp8266以及nRF24L*3 因为缺
    美科科技microAI之Mixly篇之三
    美科科技microAI之Mixly篇
    本节介绍使用Mixly控制MicroAI,制作蓝牙耳机音频接收器。 编辑环境:Mixly V1.4.4 准
    请问拆下来的屏幕怎么连接arduino
    请问拆下来的屏幕怎么连接
    屏幕是以前车子拆下来的导航屏幕,液晶屏驱动板芯片是MST702-LF,要怎样改装才能接上a
    arduino智能小车蓝牙控制系统
    arduino智能小车蓝牙控制
    蓝牙智能小车简介 智能小车主要可以分为 3 部分, 传感器部分、控制部分、执行部分。
    花费更少的钱 更换12864OLED
    花费更少的钱 更换12864OL
    导读分割线 国庆第一天开门红,就摔坏一块刚买不久的oled屏幕,买的时候是16。经过研
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表