arduino nano使用看门狗方法

方法一

Arduino nano bootloader(老版)不支持看门狗,如果你直接使用看门狗定时器,会卡死在bootloader中。如果要使用看门狗可以使用ISP下载器直接下载程序。这里采用的方法是用一个arduino uno用作ISP编译器的方式来进行给arduino nano下载程序。

1、将arduino uno制作成编程器

把官方代码传到uno板

 

2、引脚连接
UNONANO
D13D13
D12D12
D11D11
D10RST
5V5V
GNDGND

注:按照上述连接方式只需给uno供电即可,nano是通过uno供电。

3、软件设置

处理器、端口选项根据自己板子情况自行选择。

 上传程序时不要点软件自带的上传,需要用上图中的上传。

4、示例看门狗程序
#include <avr/wdt.h>

void setup() {
  // 启用看门狗计时器,设置超时时间为8秒
  wdt_enable(WDTO_8S);
}

void loop() {
  // 在主循环中执行你的任务

  // 喂狗,重置看门狗计时器
  wdt_reset();
}

在 Arduino 的看门狗库(avr/wdt.h)中,提供了以下几个主要的

  1. wdt_enable(time):启用看门狗计时器,并设置超时时间。其中,time 参数可以是以下预定义常量之一,表示不同的超时时间:

    • WDTO_15MS:15 毫秒
    • WDTO_30MS:30 毫秒
    • WDTO_60MS:60 毫秒
    • WDTO_120MS:120 毫秒
    • WDTO_250MS:250 毫秒
    • WDTO_500MS:500 毫秒
    • WDTO_1S:1 秒
    • WDTO_2S:2 秒
    • WDTO_4S:4 秒
    • WDTO_8S:8 秒
  2. wdt_disable():禁用看门狗计时器,防止其触发复位。一旦禁用,看门狗计时器将不会在超时时触发。

  3. wdt_reset():重置(喂狗)看门狗计时器。在程序的主循环中,定期调用这个函数可以防止看门狗计时器超时触发复位。重置计时器会重新开始计时,避免超时发生。

这些函数用于配置和控制看门狗计时器,以确保程序在正常运行时不会触发复位,同时在程序出现故障或死锁时触发复位,从而保持系统的稳定性。根据个人需求进行测试。

方法二

可以把nano的bootloader更新到最新版本,参考链接:用Arduino板为另一块Arduino烧写(更新)BootLoader_expected signature for atmega328p is 1e 95 0f doub_小平友littlePING的博客-CSDN博客

***个人学习记载,不喜勿喷,错误地方,请大佬指出改正***

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值