标题: Arduino软复位命令 程序 [打印本页]

作者: 51黑er    时间: 2015-11-2 15:56
标题: Arduino软复位命令 程序
因为用到arduino与8266wifi模块制作家庭智能设备监控中心来连接网络,只是联网很不稳定,时不时连接失败或出错,于是就想到了用这个"resetFunc();"函数来给予arduino自动重启,从而达到维护这个家庭智能设备重新连接互联网!当然也可以有另外的办法,但这个方法比较简单易用,达到条件时就可以运用了,而且不用增加硬件等!

代码实例:
void setup()
{
  Serial.begin(9600);
  Serial.println("ok");//程序启动时准备就绪
}

void(* resetFunc) (void) = 0; //制造重启命令

void loop()
{
  //制造一个陷阱,让程序算好自己跳进去
  for(int i = 0;i <= 100;i++)
  {
    if(i == 100) //达到条件,中计了,嘿嘿~!
    {
      Serial.println("raset");//反馈信息给串口监视器准备重启
      delay(1000);    //延迟时间
      resetFunc();      //重启程序开始
    }
    delay(20);//延时for函数计算时间
  }
}




  




作者: wwwusr    时间: 2015-11-3 17:28
这办法真心不错啊!有想法。
作者: jimmyliang    时间: 2015-12-12 09:57
good!学习了
作者: tainan61    时间: 2017-12-19 08:13
i這招學到了!感謝分享!
作者: 蓝天晴    时间: 2019-5-16 19:17
nice,学到了,谢谢。

作者: 蓝天晴    时间: 2019-5-16 19:17
不错的办法
作者: best900    时间: 2021-6-1 10:58
void(* resetFunc) (void) = 0; //制造重启命令   这一句是什么意思啊
作者: best900    时间: 2021-6-1 10:59
请教一下楼主,这一句void(* resetFunc) (void) = 0; //制造重启命令  具体是什么意思啊,感觉没有内容,怎么实现的重启动的呢?
作者: lovesycc    时间: 2021-6-16 16:12
best900 发表于 2021-6-1 10:59
请教一下楼主,这一句void(* resetFunc) (void) = 0; //制造重启命令  具体是什么意思啊,感觉没有内容,怎 ...

Arduino有一个名为resetFunc()的内置函数,我们声明函数地址为0,当我们执行此功能时,Arduino将自动重置




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1