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()吧!

 

posted @ 2020-12-14 15:17  天气之子A  阅读(1874)  评论(0编辑  收藏  举报