C++ NodeMcu(Esp8266)与P10点阵崩溃
我试图从本地服务器获取数据,并将其打印在P10点阵Led上。 首先,我尝试从服务器获取数据,程序代码工作得很好。 然后我尝试另一个程序,并成功地将任何texy写入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
/**
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