ESP8266で昔作ったプログラムが動かない(wdt reset)
2015年ごろにESP8266用に作ったプログラムを最近コンパイルしなおして書き込んだらwdt resetが発生して正常に動作しない問題に2週間くらい悩まされていました。
いろんなページを訪ねてみましたが電源3.3Vの不安定さを解消したら解決したという記事くらいしか見つけられず、、、
しかし、ついに問題が解決しました!
(きちんとした原因はよくわかりませんが)sprintfの文を修正したらなぜか動くようになりました。
修正前:sprintf(htmlsource, HTMLSRC, ipaddress, ipaddress, ipaddress);
修正後:sprintf(htmlsource, HTMLSRC2);
修正前は、WebサーバーでLEDのオンオフボタンのリンクをhttp://%s/ledOnとして、IPアドレス部分をsprintf文で補うようにしていました。
ボタンのリンクは「http://IPアドレス/ledOn」としなくても「./ledOn」で済むことが分かったのでsprintfで%sを補うのはやめました。
とりあえず動くようになったので先に進もう。
問題になっていたプログラムは、WiFiおしゃべりボックスでした。