C++ NodeMcu(Esp8266)与P10点阵崩溃

C++ NodeMcu(Esp8266)与P10点阵崩溃,c++,arduino,esp8266,dmd,dot-matrix,C++,Arduino,Esp8266,Dmd,Dot Matrix,我试图从本地服务器获取数据,并将其打印在P10点阵Led上。 首先,我尝试从服务器获取数据,程序代码工作得很好。 然后我尝试另一个程序,并成功地将任何texy写入P10。 之后,我尝试合并程序并运行脚本。 这是密码 /** BasicHTTPClient.ino Created on: 24.05.2015 */ #include <Arduino.h> #include <ESP8266WiFi.h> #include <ESP8266WiF

我试图从本地服务器获取数据,并将其打印在P10点阵Led上。 首先,我尝试从服务器获取数据,程序代码工作得很好。 然后我尝试另一个程序,并成功地将任何texy写入P10。 之后,我尝试合并程序并运行脚本。 这是密码

/**
   BasicHTTPClient.ino

    Created on: 24.05.2015

*/

#include <Arduino.h>

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>

#include <ESP8266HTTPClient.h>

#include <WiFiClient.h>

//P10 Kutuphanesi
#include <SPI.h>
#include <DMD2.h>
#include <fonts/SystemFont5x7.h>
//P10 Kutuphanesi
//P10 Tanimlamalari

#define ESP8266

#define pin_A 16
#define pin_B 12
#define pin_sclk 0
#define pin_noe 15
#define panel_width 1
#define panel_heigh 1

SPIDMD dmd(panel_width, panel_heigh, pin_noe, pin_A, pin_B, pin_sclk);  // DMD controls the entire display
//P10 Tanimlamalari
ESP8266WiFiMulti WiFiMulti;

void setup() {

  Serial.begin(115200);
  // Serial.setDebugOutput(true);

  Serial.println();
  Serial.println();
  Serial.println();


  Serial.printf("Connecting");
  Serial.flush();
  delay(4000);


  WiFi.mode(WIFI_STA);
  WiFiMulti.addAP("XXX", "XXX");


  
//P10 Setup
  dmd.beginNoTimer();
  dmd.setBrightness(255);
  dmd.selectFont(SystemFont5x7);

  dmd.begin();
//P10 Setup
}

void loop() {
  // wait for WiFi connection
  if ((WiFiMulti.run() == WL_CONNECTED)) {

    WiFiClient client;

    HTTPClient http;

    Serial.print("[HTTP] begin...\n");
    if (http.begin(client, "http://XX.XX.XX.XX/XXX")) {  // HTTP


      Serial.print("[HTTP] GET...\n");
      // start connection and send HTTP header
      int httpCode = http.GET();

      // httpCode will be negative on error
      if (httpCode > 0) {
        // HTTP header has been send and Server response header has been handled
        Serial.printf("[HTTP] GET... code: %d\n", httpCode);

        // file found at server
        if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {
          String payload = http.getString();
          Serial.println(payload);
          //P10 Ekrana Yansitma
          DMD_TextBox box(dmd, 2, 4, 32, 16);
          box.print(payload); //print the led pannel
          //P10 Ekrana Yansitma

          
        }
      } else {
        Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
      }

      http.end();
    } else {
      Serial.printf("[HTTP} Unable to connect\n");
    }
  }

  delay(10000);
}
/**
BasicHTTPClient.ino
创建日期:2015年5月24日
*/
#包括
#包括
#包括
#包括
#包括
//P10 Kutuphanesi
#包括
#包括
#包括
//P10 Kutuphanesi
//P10塔尼姆拉马拉里
#定义ESP8266
#定义引脚A 16
#定义引脚B 12
#定义pin_sclk 0
#定义引脚编号15
#定义面板宽度1
#定义面板高度1
SPIDMD dmd(面板宽度、面板高度、插脚noe、插脚A、插脚B、插脚sclk);//DMD控制整个显示器
//P10塔尼姆拉马拉里
ESP8266WiFiMulti WiFiMulti;
无效设置(){
序列号开始(115200);
//Serial.setDebugOutput(true);
Serial.println();
Serial.println();
Serial.println();
Serial.printf(“连接”);
Serial.flush();
延迟(4000);
WiFi.模式(WiFi_STA);
WiFiMulti.addAP(“XXX”、“XXX”);
//P10设置
dmd.beginNoTimer();
dmd.正确性(255);
dmd.选择字体(SystemFont5x7);
dmd.begin();
//P10设置
}
void循环(){
//等待WiFi连接
如果((WiFiMulti.run()==WL_已连接)){
无线客户端;
HTTPClient-http;
Serial.print(“[HTTP]begin…\n”);
如果(http.begin(客户端)http://XX.XX.XX.XX/XXX){//HTTP
Serial.print(“[HTTP]GET…\n”);
//启动连接并发送HTTP头
int httpCode=http.GET();
//httpCode在出现错误时为负值
如果(httpCode>0){
//HTTP标头已发送,服务器响应标头已处理
Serial.printf(“[HTTP]获取…代码:%d\n”,httpCode);
//在服务器上找到文件
如果(httpCode==HTTP_代码_确定| | httpCode==HTTP_代码_永久移动){
字符串有效负载=http.getString();
Serial.println(有效载荷);
//P10埃克拉纳·扬西特马
DMD_文本框(DMD,2,4,32,16);
box.print(有效负载);//打印led面板
//P10埃克拉纳·扬西特马
}
}否则{
Serial.printf(“[HTTP]GET…失败,错误:%s\n”,HTTP.errorToString(httpCode.c_str());
}
http.end();
}否则{
Serial.printf(“[HTTP}无法连接\n”);
}
}
延迟(10 000);
}
在我运行代码后,程序运行并在P10 led矩阵上成功写入数据10-20秒。但几秒钟后它崩溃了。 这是crach代码和异常解码器代码

09:08:07.953 -> Exception (0):
09:08:07.953 -> epc1=0x40204fe0 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
09:08:07.988 -> 
09:08:07.988 -> >>>stack>>>
09:08:07.988 -> 
09:08:07.988 -> ctx: cont
09:08:07.988 -> sp: 3ffff9d0 end: 3fffffc0 offset: 0190
09:08:07.988 -> 3ffffb60:  3fffc200 3ffee458 3ffee3f4 402049cd  
09:08:07.988 -> 3ffffb70:  3ffef254 3ffef264 3fffc248 4000050c  
09:08:07.988 -> 3ffffb80:  400043e6 00000030 00000016 ffffffff  
09:08:07.988 -> 3ffffb90:  400044ab 3fffc718 3ffffc80 08000000  
09:08:07.988 -> 3ffffba0:  60000200 08000000 08000000 00000000  
09:08:08.024 -> 3ffffbb0:  0000ffff 00042035 00002035 003fd000  
09:08:08.024 -> 3ffffbc0:  4023f9b0 0000049c 003fd000 00000030  
09:08:08.024 -> 3ffffbd0:  3ffee26e ff3fffff 00000000 fcffffff  
09:08:08.024 -> 3ffffbe0:  02000000 cfffffff 00000000 00000190  
09:08:08.024 -> 3ffffbf0:  7d28de69 40222b64 3ffeed24 00000030  
09:08:08.024 -> 3ffffc00:  feefeffe feefeffe feefeffe feefeffe  
09:08:08.024 -> 3ffffc10:  feefeffe feefeffe feefeffe feefeffe  
09:08:08.024 -> 3ffffc20:  feefeffe 80af1999 feefeffe feefeffe  
09:08:08.056 -> 3ffffc30:  ffffffd3 00000000 40240000 ffffff1a  
09:08:08.056 -> 3ffffc40:  4023b867 00000017 00000018 42d60000  
09:08:08.056 -> 3ffffc50:  00000d68 402382c2 00000001 00000001  
09:08:08.056 -> 3ffffc60:  00000000 4000444e 00000005 3ffffda0  
09:08:08.056 -> 3ffffc70:  00000002 40105c93 00000001 60000200  
09:08:08.056 -> 3ffffc80:  00000002 4000410f 00001001 00000005  
09:08:08.056 -> 3ffffc90:  3fffc718 40004a3c 000003fd 4023f9b0  
09:08:08.090 -> 3ffffca0:  3fffc718 40105f24 000003fd 401004bc  
09:08:08.090 -> 3ffffcb0:  402335e0 000003fd 00000001 402335c9  
09:08:08.090 -> 3ffffcc0:  3ffef954 402336b3 3ffef4b4 0000049c  
09:08:08.090 -> 3ffffcd0:  000003fd 3ffffda0 3ffef4b4 40233696  
09:08:08.090 -> 3ffffce0:  ffffff00 55aa55aa 00000d90 00000020  
09:08:08.090 -> 3ffffcf0:  00000020 000000fa 000000fa aa55aa55  
09:08:08.090 -> 3ffffd00:  000003ff 40233b96 3ffef4b4 3ffef4b4  
09:08:08.090 -> 3ffffd10:  00000001 3ffed5c4 00000001 00000001  
09:08:08.123 -> 3ffffd20:  40100e69 00000001 3ffef4c4 40233d94  
09:08:08.123 -> 3ffffd30:  3ffee080 3ffef4b4 00000001 3ffffda0  
09:08:08.123 -> 3ffffd40:  3ffffdc0 3ffef4eb 00000d90 00000020  
09:08:08.123 -> 3ffffd50:  3ffef574 3ffffe01 00000001 40233e66  
09:08:08.123 -> 3ffffd60:  3ffffda0 4023f610 3ffee410 3ffee4f4  
09:08:08.123 -> 3ffffd70:  3ffef8b4 3ffffdc0 3ffef4b4 40233e35  
09:08:08.123 -> 3ffffd80:  3ffef4b4 40233e9c 00000001 00000000  
09:08:08.157 -> 3ffffd90:  40201ecc 00000001 feefeffe 40201ea8  
09:08:08.157 -> 3ffffda0:  00000000 3ffe8616 3ffffe50 4020f1bc  
09:08:08.157 -> 3ffffdb0:  feefeffe feefeffe feefeffe feefeffe  
09:08:08.157 -> 3ffffdc0:  feefef00 0000000a fe3020fe feefeffe  
09:08:08.157 -> 3ffffdd0:  feefeffe feefeffe feefeffe feefeffe  
09:08:08.157 -> 3ffffde0:  402332b2 3ffee4b4 3ffee410 00000001  
09:08:08.157 -> 3ffffdf0:  40234497 feefeffe feefeffe feefeffe  
09:08:08.191 -> 3ffffe00:  3ffeed24 40201f34 3ffffe30 402048d0  
09:08:08.191 -> 3ffffe10:  000000fe 3ffee410 00000006 40201a65  
09:08:08.191 -> 3ffffe20:  3fffc200 3ffee458 3ffee3f4 402049cd  
09:08:08.191 -> 3ffffe30:  3ffef250 3ffef260 3ffef270 3ffef280  
09:08:08.191 -> 3ffffe40:  3ffee478 3ffe8304 00000000 40205001  
09:08:08.191 -> 3ffffe50:  3fffff0a 401001e8 00000020 40100204  
09:08:08.191 -> 3ffffe60:  3fffff00 0000003f 3fffc248 4000050c  
09:08:08.191 -> 3ffffe70:  3ffee3e8 00000030 00001388 ffffffff  
09:08:08.226 -> 3ffffe80:  40000fb0 00000040 00000521 3fffc200  
09:08:08.226 -> 3ffffe90:  00000561 ffffffff 00000020 3ffee4f4  
09:08:08.226 -> 3ffffea0:  3fffdad0 00000000 3ffee4b4 402011ae  
09:08:08.226 -> 3ffffeb0:  3ffee3f4 3ffee458 3ffee4f4 00000030  
09:08:08.226 -> 3ffffec0:  3fffff0a 00000008 3ffee478 4020c9e8  
09:08:08.226 -> 3ffffed0:  00000000 400042db 00000008 0000000a  
09:08:08.226 -> 3ffffee0:  000008b0 3ffef47c 0000049c 003fe000  
09:08:08.226 -> 3ffffef0:  000008a0 feefeffe feefeffe 3ffee4f4  
09:08:08.259 -> 3fffff00:  000008c0 40201be7 00000020 40100b3c  
09:08:08.259 -> 3fffff10:  3ffe861d 4020b87c 00000020 3ffee4f4  
09:08:08.259 -> 3fffff20:  3ffee588 3ffee3f4 00000020 40100b3c  
09:08:08.259 -> 3fffff30:  3ffee450 00000001 0000000f 4010041d  
09:08:08.259 -> 3fffff40:  3fffdad0 3ffee3f4 00000000 40100b85  
09:08:08.259 -> 3fffff50:  3ffef24c 3ffef25c 3ffef26c 3ffef27c  
09:08:08.259 -> 3fffff60:  3fffdad0 3ffee3f4 3ffee3f4 40204950  
09:08:08.292 -> 3fffff70:  401002ed 3ffee3f4 3ffee450 3ffee4f4  
09:08:08.292 -> 3fffff80:  3ffee458 3ffee3f4 3ffee454 402050d0  
09:08:08.292 -> 3fffff90:  3fffdad0 00000000 3ffee3f4 3ffee4f4  
09:08:08.292 -> 3fffffa0:  3fffdad0 00000000 3ffee4b4 40206e28  
09:08:08.292 -> 3fffffb0:  feefeffe feefeffe 3ffe84e8 40100dc1  
09:22:47.342 -> <<<stack<<<
09:22:47.342 -> 
09:22:47.342 -> --------------- CUT HERE FOR EXCEPTION DECODER ---------------
09:22:47.342 -> 
09:22:47.342 ->  ets Jan  8 2013,rst cause:2, boot mode:(3,6)
09:22:47.342 -> 
09:22:47.342 -> load 0x4010f000, len 3584, room 16 
09:22:47.342 -> tail 0
09:22:47.342 -> chksum 0xb0
09:22:47.342 -> csum 0xb0
09:22:47.342 -> v2843a5ac
09:22:47.376 -> ~ld




Exception 0: Illegal instruction
PC: 0x40204fe0: _Unwind_Find_FDE at /workdir/repo/gcc/libgcc/unwind-dw2-fde.c line 1061
EXCVADDR: 0x00000000

Decoding stack results
0x402049cd: search_object at /workdir/repo/gcc/libgcc/unwind-dw2-fde.c line 750
0x40100e69: timer1Interrupt() at C:\Users\ab107016\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266\core_esp8266_waveform.cpp line 310
0x40201ecc: DMDFrame::DMDFrame(unsigned char, unsigned char) at C:\Users\ab107016\Documents\Arduino\libraries\DMD2\DMDFrame.cpp line 34
0x40201ea8: DMDFrame::DMDFrame(unsigned char, unsigned char) at C:\Users\ab107016\Documents\Arduino\libraries\DMD2\DMDFrame.cpp line 28
0x4020f1bc: tcp_output at core/tcp_out.c line 1378
0x40201f34: DMDFrame::setPixel(unsigned int, unsigned int, DMDGraphicsMode) at C:\Users\ab107016\Documents\Arduino\libraries\DMD2\DMDFrame.cpp line 75
0x402048d0: add_fdes at /workdir/repo/gcc/libgcc/unwind-dw2-fde.c line 699
0x40201a65: DMDFrame::drawChar(int, int, char, DMDGraphicsMode, unsigned char const*) at C:\Users\ab107016\Documents\Arduino\libraries\DMD2\DMD2_Text.cpp line 78
0x402049cd: search_object at /workdir/repo/gcc/libgcc/unwind-dw2-fde.c line 750
0x40205001: _Unwind_Find_FDE at /workdir/repo/gcc/libgcc/unwind-dw2-fde.c line 1059
0x401001e8: timer0_isr_handler(void*) at C:\Users\ab107016\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266\core_esp8266_timer.cpp line 84
0x40100204: timer0_isr_handler(void*) at C:\Users\ab107016\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266\core_esp8266_timer.cpp line 89
0x402011ae: SPIClass::setHwCs(bool) at C:\Users\ab107016\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\SPI\SPI.cpp line 124
0x4020c9e8: tcp_receive at core/tcp_in.c line 1859
0x40201be7: DMD_TextBox::clear() at C:\Users\ab107016\Documents\Arduino\libraries\DMD2\DMD2_TextBox.cpp line 126
0x40100b3c: realloc(void*, size_t) at C:\Users\ab107016\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266\umm_malloc\umm_malloc.cpp line 840
0x4020b87c: dns_recv at core/dns.c line 1293
0x40100b3c: realloc(void*, size_t) at C:\Users\ab107016\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266\umm_malloc\umm_malloc.cpp line 840
0x4010041d: __digitalWrite(uint8_t, uint8_t) at C:\Users\ab107016\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266\core_esp8266_wiring_digital.cpp line 88
0x40100b85: realloc(void*, size_t) at C:\Users\ab107016\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266\umm_malloc\umm_malloc.cpp line 894
0x40204950: add_fdes at /workdir/repo/gcc/libgcc/unwind-dw2-fde.c line 721
0x401002ed: timer0_attachInterrupt(timercallback) at C:\Users\ab107016\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266\core_esp8266_timer.cpp line 100
0x402050d0: __cvt at /home/earle/src/esp-quick-toolchain/repo/newlib/newlib/libc/stdio/nano-vfprintf_float.c line 111
0x40206e28: _strtod_r at /home/earle/src/esp-quick-toolchain/repo/newlib/newlib/libc/stdlib/strtod.c line 1121
0x40100dc1: timer1Interrupt() at C:\Users\ab107016\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266\core_esp8266_waveform.cpp line 267
09:08:07.953->异常(0):
09:08:07.953->epc1=0x40204fe0 epc2=0x00000000 epc3=0x00000000 EXCVADR=0x00000000 depc=0x00000000
09:08:07.988 -> 
09:08:07.988->>>堆栈>>>
09:08:07.988 -> 
09:08:07.988->ctx:cont
09:08:07.988->sp:3ffff9d0结束:3fffffc0偏移量:0190
09:08:07.988->3ffffb60:3fffc200 3ffee458 3ffee3f4 402049cd
09:08:07.988->3ffffb70:3ffef254 3ffef264 3fffc248 4000050c
09:08:07.988->3ffffb80:400043e6 000000 30 000000 16 ffffffff
09:08:07.988->3ffffb90:400044ab 3fffc718 3ffffc80 08000000
09:08:07.988->3ffffba0:6000020000000800000000000000
09:08:08.024->3ffffbb0:0000FFFF00042035 00002035 003fd000
09:08:08.024->3ffffbc0:4023F9B00000049C 003FD00000000030
09:08:08.024->3ffffbd0:3FFE26E ff3fffff 00000000 fcffffff
09:08:08.024->3ffffbe0:0200000 CFFFFFFF00000000 00000190
09:08:08.024->3ffffbf0:7d28de69 402B64 3FFED24 000000 30
09:08:08.024->3ffffc00:feefefefefefefefefefefefefefefefefefefefefefe
09:08:08.024->3ffffc10:feefefefefefefefefefefefefefefefefefefefefe
09:08:08.024->3ffffc20:Feefefefe 80af1999 Feefefefe
09:08:08.056->3ffffc30:FFFFFF D3 00000000 4024000 FFFFFF 1A
09:08:08.056->3ffffc40:4023b867 000000 17 000000 18 42d60000
09:08:08.056->3ffffc50:00000d68 402382c2 00000001
09:08:08.056->3ffffc60:00000000 4000444e 00000005 3ffffda0
09:08:08.056->3ffffc70:00000002 40105c93 00000001 60000200
09:08:08.056->3ffffc80:00000002 4000410f 000010001 00000005
09:08:08.056->3ffffc90:3fffc718 40004a3c 000003fd 4023f9b0
09:08:08.090->3ffffca0:3fffc718 40105f24 00000 3FD 401004bc
09:08:08.090->3ffffcb0:402335E0000003FD00000001 402335c9
09:08:08.090->3ffffcc0:3ffef954 402336b3 3ffef4b4 0000049c
09:08:08.090->3ffffcd0:000003fd 3ffffda0 3FFF4B4 40233696
09:08:08.090->3ffffce0:FFFF00 55aa55aa 00000 D90 000000 20
09:08:08.090->3ffffcf0:00000020000000000fa000000faaa55aa55
09:08:08.090->3ffffd00:000003ff 40233b96 3ffef4b4 3ffef4b4
09:08:08.090->3ffffd10:00000001 3FFED5C400000001 00000001
09:08:08.123->3ffffd20:40100E6900000001 3FFEF4C 40233d94
09:08:08.123->3ffffd30:3ffee080 3FFF4B4 0000000 1 3ffffda0
09:08:08.123->3ffffd40:3ffffdc0 3FFF4EB 00000D9000万20
09:08:08.123->3ffffd50:3ffef574 3ffffe01 00000001 40233e66
09:08:08.123->3ffffd60:3ffffda0 4023f610 3FFE410 3FFE4F4
09:08:08.123->3ffffd70:3FFF8B4 3ffffdc0 3FFF4B4 40233e35
09:08:08.123->3ffffd80:3FFF4B4 40233e9c 00000001 00000000
09:08:08.157->3ffffd90:40201ecc 0000000 1费费费费40201ea8
09:08:08.157->3ffffda0:00000000 3ffe8616 3ffffe50 4020f1bc
09:08:08.157->3ffffdb0:feefefefefefefefefefefefefefefefefe
09:08:08.157->3ffffdc0:feeff00 0000000 a fe3020fe feeffe
09:08:08.157->3ffffdd0:feefefefefefefefefefefefefefefefefefefe
09:08:08.157->3ffffde0:402332b2 3ffee4b4 3FFEE4100000000 1
09:08:08.157->3ffffdf0:40234497菲菲菲菲菲菲菲菲
09:08:08.191->3ffffe00:3ffeed24 40201f34 3ffffe30 402048d0
09:08:08.191->3ffffe10:000000fe 3FFEE41000000006 40201a65
09:08:08.191->3ffffe20:3fffc200 3ffee458 3ffee3f4 402049cd
09:08:08.191->3ffffe30:3ffef250 3ffef260 3ffef270 3ffef280
09:08:08.191->3FFFFE440:3ffee478 3ffe8304 00000000 40205001
09:08:08.191->3FFFF50:3fffff0a 401001e8 000000 20 40100204
09