【嵌入式学习笔记】嵌入式入门5——窗口看门狗WWDG

1.WWDG简介

  • WWDG的全称:Window watchdog,即窗口看门狗
  • WWDG的本质:能产生系统复位信号和提前唤醒中断的计数器
  • WWDG的特性:递减的计数器,当递减计数器值从 0x40减到0x3F时复位(即T6位跳变到0),计数器的值大于W[6:0]值时喂狗会复位,提前唤醒中断 (EWI):当递减计数器等于 0x40 时可产生
  • 喂狗:在窗口期内重装载计数器的值,防止复位

IWDG的所用

  1. 作用:用于监测单片机程序运行时效是否精准,主要检测软件异常
  2. 应用:需要精准检测程序运行时间的场合

2.WWDG工作原理

注意:W[6:0] 必须大于 窗口下限值0x3F,否则无窗口期
在这里插入图片描述

3.WWDG框图

  • 上半部分描述:非窗口期喂狗,产生复位
  • 下半部分描述:T[0:6],虽然有7位,但是6位递减计数器,T6的作用是判断T[6:0]的值是否从0x40到0x3f
  • W[6:0] 必须大于 窗口下限值0x3F,否则无窗口期
    在这里插入图片描述

4.WWDG寄存器

  • 控制寄存器 (WWDG_CR)——用于使能窗口看门狗工作,以及重装载计数器值(即喂狗)
    在这里插入图片描述
  • 配置寄存器 (WWDG_CFR)——用于使能窗口看门狗提前唤醒中断,设置预分频系数,设置窗口上限值
    在这里插入图片描述
  • 状态寄存器 (WWDG_SR)——用于判断是否发生了WWDG提前唤醒中断
    在这里插入图片描述

5.WWDG超时时间计算

在这里插入图片描述
在这里插入图片描述

6.WWDG配置步骤

  • WWDG工作参数初始化:HAL_WWDG_Init()
  • WWDG Msp初始化:HAL_WWDG_MspInit() 配置NVIC、CLOCK等
  • 设置优先级,使能中断:HAL_NVIC_SetPriority()、 HAL_NVIC_EnableIRQ()
  • 编写中断服务函数:WWDG_IRQHandler() ->HAL_WWDG_IRQHandler
  • 重定义提前唤醒回调函数:HAL_WWDG_EarlyWakeupCallback()
  • 在窗口期内喂狗:HAL_WWDG_Refresh()

关键结构体

typedef struct 
{
  WWDG_TypeDef *Instance; /* WWDG 寄存器基地址 */ 
  WWDG_InitTypeDef Init;      /* WWDG 初始化参数 */
}WWDG_HandleTypeDef;
typedef struct 
{
  uint32_t Prescaler; /* 预分频系数 */
  uint32_t Window;    /* 窗口值 */
  uint32_t Counter;    /* 计数器值 */
  uint32_t EWIMode;  /* 提前唤醒中断使能 */ 
}WWDG_InitTypeDef;

在这里插入图片描述

7.编程实战:验证窗口看门狗功能

在这里插入图片描述

8.IWDG和WWDG的主要区别

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
全志T3开发板是一块能够帮助嵌入式初学者进行学习和测试的开发板。该开发板采用了全志公司推出的T3芯片作为主控芯片,拥有强大的处理性能和丰富的硬件接口,非常适合初学者进行嵌入式开发。 在使用全志T3开发板进行学习和测试时,首先需要熟悉该开发板的硬件接口和功能。该开发板提供了丰富的硬件接口,包括GPIO口、SPI口、I2C口、UART口等,这些接口可以用于连接外部硬件模块,实现各种功能。同时,该开发板还具备WiFi和蓝牙功能,方便进行网络通信。 接下来,可以选择一个简单的嵌入式项目进行学习和测试。例如,可以通过GPIO口控制LED灯的亮灭,通过SPI口读取传感器数据等。在这个过程中,需要学习如何使用开发板的各种硬件接口和相应的编程语言,例如C语言或Python。可以查阅开发板的相关文档和教程,以及互联网上的资源,来学习如何编写代码、调试和测试。 此外,全志T3开发板还支持Linux和Android系统,可以学习如何在这些系统上进行嵌入式开发。通过学习和测试,可以深入理解嵌入式系统的原理和开发方法,提升自己的嵌入式开发能力。 总之,全志T3开发板是一块非常适合嵌入式初学者进行学习和测试的开发板。通过学习和测试,可以掌握嵌入式开发的基础知识和技能,并在实践中逐渐提升自己的嵌入式开发水平。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值