ARM课作业七:独立看门狗

一、引言

在嵌入式系统中,看门狗定时器(Watchdog Timer, WDT)是一种用于监控系统运行状态的硬件或软件定时器。如果系统因为软件错误或其他原因陷入死循环或长时间无响应,看门狗定时器会触发系统复位,以确保系统能够自动恢复运行。

本次作业用到独立看门狗,独立看门狗(Independent Watchdog, IWDG)是 STM32 微控制器中的一种硬件定时器,用于在系统出现故障(如陷入死循环或长时间无响应)时自动复位系统。它独立于主系统时钟运行,通常使用内部低速时钟(LSI)作为时钟源,这使得它即使在主系统时钟出现故障时也能正常工作。

喂狗(Feeding the Watchdog)

“喂狗”是指在看门狗定时器溢出之前,通过软件重置看门狗定时器的计数器。通常,这是在主程序正常执行时定期进行的操作。通过“喂狗”,可以告诉看门狗系统正在正常运行,不需要复位。典型地,这通过调用一个特定的函数(如 IWDG_Feed())来完成。

不喂狗(Not Feeding the Watchdog)

“不喂狗”是指看门狗定时器在预设的时间内没有被重置。这通常意味着系统出现了问题,例如程序陷入死循环、无响应或者长时间执行某个任务未完成。在这种情况下,看门狗定时器会溢出并触发系统复位。

二、代码

1.main.c

 IWDG_Config(IWDG_Prescaler_64 ,625); 用来配置看门狗定时器,使其在1秒后超时

主循环则用来检测按键是否按下:

1s内如按下则喂狗,将调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值