開發文檔:https://arduino-esp8266.readthedocs.io/en/latest/index.html
源碼:https://github.com/esp8266/Arduino
LED燈:如果不知道板載燈的GPIO腳,看這里

#define LED_PIN D4
void setup() {
//初始化串口
Serial.begin(9600);
// put your setup code here, to run once:
// 設置管腳為輸出模式
pinMode(LED_PIN,OUTPUT);
// 初始化時設置為高電平熄滅LED
digitalWrite(LED_PIN, HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
// 點亮LED
if(Serial.available())
{
char ch= Serial.read();
Serial.print(ch);
if(ch=='a'){
digitalWrite(LED_PIN, LOW);
}else if(ch=='b'){
// 熄滅LED
digitalWrite(LED_PIN, HIGH);
}else{
}
}
}
看門狗:
參考:https://www.arduino.cn/thread-84125-1-1.html
https://www.arduino.cn/thread-74482-1-1.html
ESP8266的看門狗,默認就是開啟的,ESP.wdtEnable(uint32_t time_ms),ESP.wdtDisable(), ESP.wdtFeed()
默認就是開啟的
ESP.wdtEnable(uint32_t time_ms) //ESP.wdtEnable(WDTO_4S); //打開看門狗 4秒重啟
// 0=15(16)ms, 1=30(32)ms,2=60(64)ms,3=120(128)ms,4=250ms,5=500ms
// 6=1 sec,7=2 sec, 8=4 sec, 9= 8sec
0、WDTO_15MS: 看門狗定時器15ms超時
1、WDTO_30MS: 看門狗定時器30ms超時
2、WDTO_60MS:看門狗定時器60ms超時
3、WDTO_120MS: 看門狗定時器120ms超時
4、WDTO_250MS: 看門狗定時器250ms超時
5、WDTO_500MS: 看門狗定時器500ms超時
6、WDTO_1S: 看門狗定時器1S超時
7、WDTO_2S: 看門狗定時器2S超時
8、WDTO_4S: 看門狗定時器4S超時
9、WDTO_8S: 看門狗定時器8S超時
ESP.wdtDisable() //關閉看門狗
ESP.wdtFeed( ) //喂狗
要是想復位 直接 ESP.restart() 復位參考
ESP8266有兩種重啟方法,分別為:ESP.reset()和ESP.restart(),很多人代碼中都用ESP.reset()重啟,但是通常情況下使用ESP.restart()會更好,
這兩者區別如下:
ESP.reset()是一個硬復位,這種重啟方式可能會使一些寄存器回歸到原始狀態,即丟失寄存器數據,這會導致重啟后的程序出現問題,它或多或少像計算機上的復位按鈕。
ESP.restart()是通過向ESP8266的SDK發送信號重啟,而不是簡單粗暴的復位,所以它是一個更‘軟’的重啟方式。
所以,把你代碼中的ESP.reset()換成ESP.restart()吧!
