首页 文章

ESP8266使用NodeMCU的致命异常(0)

提问于
浏览
0

当我启动ESP8266时,我正在使用我的arduino MEGA串行监视器 .

Fatal exception (0): e2= 0d00l(xp00v0xao1,00e0c pe80c00d0x:2= 0d00l(xp00v0xao1,00e0c pe80c00d0x:2= 0d00l(xp00v0xao1,00e0c e 0xp0= 0e)02,0d00a 0e00c00Fic00= 0p0e 0xp0= 0e)02

如果我进行硬重置而不是打印

Jan 8 2013,rst cause:4, boot mode:(3,6) wdt reset load 0x40100000, len 28740, room 16 tail 4 chksum 0xcd load 0x3ffe8000, len 2888, room 4 tail 4 0xeotail 0 chks

我使用了由Lua 5.1.4驱动的NodeMcu闪存器nodemcu_integer_0.9.5_20150318.bin和NodeMCU 0.9.5 build 20150318 . 我正在使用arduino UART(串行监视器)与ESP8266通信 . 波特率:115200闪存大小:4MB闪存速度:40MHz SPI:DIO模块采用交流电源供电(独立电源)

这是我的联系:

//////////////////////////////////////////////////////////////////////////////
    ///////                         CONNECTIONS              ////////
    /////////////////////////////////////////////////////////////////////////////
    /*
    ESP8266 VCC -> BeagleBone 3.3
    ESP8266 GND -> Common GND (Arduino & BeagleBone)
    ESP8266 CH_PD -> 3K resistor -> VCC
    ESP8266 RST -> VCC or pin 13(arduino)
    GPIO CAB BE LEFT OPEN OR TIED HIGH
    ESP8266 Tx -> pin2 (Arduino software serial Rx)
    ESP8266 Rx <- Voltage Divider <- pin3 (Arduino software serial Tx)
    */

这是我的代码

#define esp8266 Serial2
#define CH_PD Vcc // but needs a narrow low pulse
#define speed8266 9600 // This is the speed that worked with my ESP8266
void setup()
{
 esp8266.begin (speed8266);
 Serial.begin(9600);
 reset8266(); // Pin CH_PD need a reset before start communication
}
void loop()
{
 while(esp8266.available())
 { Serial.write(esp8266.read()); }
 while(Serial.available())
 { esp8266.write(Serial.read()); }
}
/*************************************************/
// Reset funtion to accept communication
void reset8266 ()
{
 pinMode(CH_PD, OUTPUT);
digitalWrite(CH_PD, LOW);
 delay(300);
 digitalWrite(CH_PD, HIGH);
}

以下是我在NodeMCU中所做的一些配置(我已尝试使用不同的波特率)

Advanced Configuration Configuration

1 回答

  • 0

    如果你得到这样的致命错误异常:

    异常(3):epc1 = 0x401003e9 epc2 = 0x00000000 epc3 = 0x00000000 excvaddr = 0x4000cbd9 depc = 0x00000000在arduino IDE的串行监视器中的无限循环中 .

    然后转到此链接下载软件并按照步骤擦除闪存以解决错误 .

    这不能解决由于您的程序而导致的致命错误,但是如果您的设备处于无法访问程序存储器的状态,那么它将工作并尝试至少一次来解决问题 .

    这是硬重置nodemcu的过程

    https://www.youtube.com/watch?v=MHrm7axsImI&t=146s

    步骤:在你的电脑上安装最新的python版本 . (https://www.python.org/downloads)以管理员身份打开cmd提示符 . 转到c /程序文件或程序文件(x86) - > python(您的版本) - >脚本 . 对于此类型(cd c / program files(x86)/ python(您的版本)/ Script),然后按Enter键 . 现在输入(pip install esptool) . 现在下载ESPlorer(https://esp8266.ru/esplorer/)版本(下载ESPlorer.zip(v 0.2.0-rc6))并解压缩文件并打开可执行jar文件 . 现在转到nodemcu固件站点(https://github.com/nodemcu/nodemcu-firmware/releases)和下载文件(nodemcu_float_0.9.6-dev_20150704.bin)并将此文件复制到c / program files(x86)/ python(您的版本)/ Script文件夹中 . 现在在cmd提示符下输入 . esptool.py --port COM(您的端口号)--baud 115200 erase_flash然后按Enter键 .

    注意:您可以看到您的端口号 . 进入设备管理器 .

相关问题