Arduino ESP8266


開發文檔: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()吧!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM