Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MacOS High Sierra Arduino Mac 1.8.5上的程序错误_Arduino_Esp8266_Esp32_Progmem - Fatal编程技术网

MacOS High Sierra Arduino Mac 1.8.5上的程序错误

MacOS High Sierra Arduino Mac 1.8.5上的程序错误,arduino,esp8266,esp32,progmem,Arduino,Esp8266,Esp32,Progmem,我正在使用MacOS High Sierra上运行的MacBook Pro 每当我试图上传包含PROGMEM的Arduino代码时,就会出现问题 将原始HTML字符串(Arduino Mac 1.8.5)存储到我的ESP板。 我使用的板是ESP8266 LoLin V3 每当我访问时,串行监视器中会引发异常(3) web浏览器上ESP的IP地址。 我还尝试使用Windows版本的Arduino for Windows(1.8.5)上传相同的代码 而且网页可以显示得非常好 代码: #包括 #包括

我正在使用MacOS High Sierra上运行的MacBook Pro

每当我试图上传包含PROGMEM的Arduino代码时,就会出现问题 将原始HTML字符串(Arduino Mac 1.8.5)存储到我的ESP板。 我使用的板是ESP8266 LoLin V3

每当我访问时,串行监视器中会引发异常(3) web浏览器上ESP的IP地址。 我还尝试使用Windows版本的Arduino for Windows(1.8.5)上传相同的代码 而且网页可以显示得非常好

代码:

#包括
#包括
#包括
#包括
const char*ssid=“ssid”;
const char*password=“password”;
ESP8266Web服务器(80);
const char主页[]PROGMEM=R“(
Mac无法正确编译程序!
尝试将此代码上载到Mac上的任何ESP8266,并查看错误!
例外情况(3)
LoadStoreError原因
加载或存储期间处理器内部物理地址或数据错误!
Windows可以轻松编译此文件,并在ESP8266上完美读取该文件!
)";
void handleRoot(){
字符串页面=主页;
send(200,“text/html”,page);//发送网页
}
作废设置(作废){
Serial.begin(115200);
WiFi.mode(WiFi_STA);
WiFi.begin(ssid,密码);
Serial.println(“”);
//等待连接
while(WiFi.status()!=WL_已连接){
延迟(500);
连续打印(“.”);
}
Serial.println(“”);
Serial.print(“连接到”);
Serial.println(ssid);
Serial.print(“IP地址:”);
Serial.println(WiFi.localIP());
如果(MDNS.begin(“esp8266”)){
Serial.println(“MDNS响应程序已启动”);
}
server.on(“/”,handleRoot);
server.begin();
Serial.println(“HTTP服务器已启动”);
}
无效循环(无效){
server.handleClient();
}
出现的错误如下:

Exception (3):
epc1=0x40209d64 epc2=0x00000000 epc3=0x00000000 excvaddr=0x4023ad32 depc=0x00000000

ctx: cont
sp: 3ffefb20 end: 3ffefe10 offset: 01a0

>>>stack>>>
3ffefcc0:  3ffe8b02 3ffeea80 3ffefd00 40207729
3ffefcd0:  00000001 00000001 3ffefd00 40207776
3ffefce0:  4023ad32 3ffefd40 3ffefd40 402076ab
3ffefcf0:  3fff10d4 00000001 3fff1044 4020206e
3ffefd00:  3fff118c 0000018f 00000182 4010020c
3ffefd10:  00000001 00000001 3ffefd40 4020836e
3ffefd20:  00000000 00000000 3fff1044 40204406
3ffefd30:  3fff1044 3ffeea9c 3fff1044 40204442
3ffefd40:  00000000 00000000 00000000 40207858
3ffefd50:  3fff1044 3ffeea9c 3ffeea58 402044c9
3ffefd60:  3fff10d4 0000000f 00000001 00000000
3ffefd70:  00000000 00000013 3ffeea5c 40203058
3ffefd80:  3ffeea9c 00000001 3ffeedf0 3ffeea80
3ffefd90:  00000001 00000000 40203964 0000000a
3ffefda0:  00000000 3fff0e5c 3ffeea58 3ffeeddc
3ffefdb0:  00000001 3ffeea80 3ffeea58 402046c0
3ffefdc0:  40107058 00000000 00001388 40208364
3ffefdd0:  00000000 3fff0e5c 00000000 feefeffe
3ffefde0:  3fffdad0 00000000 3ffeedd4 402021d0
3ffefdf0:  3fffdad0 00000000 3ffeedd4 402080e4
3ffefe00:  feefeffe feefeffe 3ffeedf0 40100710
<<<stack<<<

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v614f7c32
~ld
例外(3):
epc1=0x40209d64 epc2=0x00000000 epc3=0x00000000 EXCVADR=0x4023ad32 depc=0x00000000
ctx:续
sp:3ffefb20结束:3ffefe10偏移量:01a0
>>>堆栈>>>
3ffefcc0:3ffe8b02 3ffeea80 3ffefd00 40207729
3ffefcd0:00000001 00000001 3ffefd00 40207776
3ffefce0:4023ad32 3ffefd40 3ffefd40 402076ab
3ffefcf0:3fff10d4 0000000 1 3fff1044 40202006E
3fff118c 0000018f 00000182 401002 0C
3ffefd10:00000001 00000001 3ffefd40 4020836e
3ffefd20:00000000 00000000 3fff1044 40204406
3ffefd30:3fff1044 3ffeea9c 3fff1044 4020442
3ffefd40:00000000 00000000 00000000 40207858
3ffefd50:3fff1044 3ffeea9c 3ffeea58 402044c9
3ffefd60:3fff10d4 0000000 f 0000000 1 00000000
3ffefd70:00000000000013 3ffeea5c 40203058
3ffefd80:3ffeea9c 0000000 1 3ffeedf0 3ffeea80
3ffefd90:00000001 00000000 40203964 0000000 A
3ffefda0:00000000 3fff0e5c 3ffeea58 3FFEEDC
3ffefdb0:0000001 3ffeea80 3ffeea58 402046c0
3ffefdc0:40107058 00000000 00001388 40208364
3ffefdd0:00000000 3fff0e5c 00000000菲菲
3FFFDE0:3fffdad0 00000000 3FFEDD4 402021d0
3FFFDF0:3fffdad0 00000000 3FFEDD4 402080e4
3ffefe00:FEEFEFEFEFEFEFEFEFEFEFEFEF0 40100710

在你的程序中,你有

void handleRoot() {
  String page = homepage;
  server.send(200, "text/html", page); //Send web page
}
这应该是

void handleRoot() {
  String page = FPSTR(homepage);
  server.send(200, "text/html", page); //Send web page
}
添加
FPSTR()
,它将正常工作。没有它,您的程序就无法正确地解除对存储在Flash中的字符串的引用


有关这方面的更多信息,请访问

,谢谢您的反馈。我很快就会试试那种方法。至于现在,我使用SPIFFS方法来存储HTML代码,它在Mac上运行良好。
void handleRoot() {
  String page = FPSTR(homepage);
  server.send(200, "text/html", page); //Send web page
}