窗口看门狗

这篇具有很好参考价值的文章主要介绍了窗口看门狗。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

窗口看门狗,STM32,stm32

 从下往上看:

1. 时钟设置

RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE);//使能独立看门狗时钟

WWDG_SetPrescaler(WWDG_Prescaler_8);//看门狗预分频器WWDG counter clock = (PCLK1/4096)/8

2.设置窗口值

实际就是设置WWDG_CR的低七位值, 但是这个值要大于0x40(也就是bit T6必须为1, 如果小于的话, 直接就复位, 因此窗口的上限值的取值范围: 0x40~ 0x7F)

看门狗使能的话, 则WWDG_CR的位WDGA置1

WWDG_SetWindowValue(wr);

WWDG_Enable(WWDG_CNT);

3. 中断开启?

WWDG_EnableIT() 这个还利用了位膨胀, 来开启WWDG_CFR的bit9.

WWDG_ClearFlag();//清除提前唤醒中断标志位
  WWDG_EnableIT();//开启提前唤醒中断

 WWDG_CFR:

        bit6:0  : 设置窗口值

        bit7:8  : 设置分配

        bit9  :  提前唤醒中断, 此位若置’1’,则当计数器值达到40h,即产生中断。此中断只能由硬件在复位后清除。

4.开启了中断,那么当然要设置中断优先级

NVIC_InitStructure.NVIC_IRQChannel=WWDG_IRQn;  //窗口看门狗中断
	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x02;  //抢占优先级为2
	NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x03;					//子优先级为3
	NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;  //使能窗口看门狗
	NVIC_Init(&NVIC_InitStructure);

5.运行原理

实际他就是一个倒计数定时器, 当我们设置的初始值减到0x3F的时候,会产生复位, 如果我们开启了复位前中断,那么会先运行中断, 然后复位.我们可以在复位中断保存一些数据,.

目前在实际项目还没用过, 没有对时序要求这么严格的项目.

正点原子例程代码文章来源地址https://www.toymoban.com/news/detail-677745.html

void WWDG_Init(u8 tr,u8 wr,u32 fprer)
{
 
	NVIC_InitTypeDef NVIC_InitStructure;
 
	
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE); //使能窗口看门狗时钟
	
	WWDG_CNT=tr&WWDG_CNT;   //初始化WWDG_CNT. 
	WWDG_SetPrescaler(fprer); //设置分频值
	WWDG_SetWindowValue(wr); //设置窗口值
	WWDG_Enable(WWDG_CNT);  //开启看门狗
	
	NVIC_InitStructure.NVIC_IRQChannel=WWDG_IRQn;  //窗口看门狗中断
	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x02;  //抢占优先级为2
	NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x03;					//子优先级为3
	NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;  //使能窗口看门狗
	NVIC_Init(&NVIC_InitStructure);
	
	WWDG_ClearFlag();//清除提前唤醒中断标志位
    WWDG_EnableIT();//开启提前唤醒中断
}



//窗口看门狗中断服务程序 
void WWDG_IRQHandler(void)
{
	WWDG_SetCounter(WWDG_CNT); //重设窗口看门狗值
	WWDG_ClearFlag();//清除提前唤醒中断标志位
	LED1=!LED1;
}

到了这里,关于窗口看门狗的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【正点原子STM32连载】第十五章 窗口看门狗实验 摘自【正点原子】APM32F407最小系统板使用指南

    1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html# 本章介绍APM32F407窗口看门狗(WWDT)的使用,窗口看门狗与独立看门狗一样能够帮助CPU在进入错误状

    2024年02月12日
    浏览(46)
  • stm32之看门狗

            STM32 有两个看门狗, 独立看门狗 和 窗口看门狗 ,独立看门狗又称宠物狗,窗 口看门狗又称警犬。可用来检测和解决由软件错误引起的故障。两个看门狗的原理都是 当计数器达到给定的超时值时,产生系统复位,对于窗口型看门狗同时会产生一个中断。 独立看

    2024年02月04日
    浏览(64)
  • STM32开发——看门狗

    目录 1.独立看门狗 1.1需求 1.2CubeMX设置  1.3函数代码 2.窗口看门狗 2.1需求 ​2.2WWDG配置: 2.3函数代码  3.独立看门狗和窗口看门狗的异同点 监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog) 。  独立看门狗本质 本质是一个 12 位的递减计数器,当计数器的值从

    2024年02月10日
    浏览(134)
  • STM32-WDG看门狗

    目录 简介 独立看门狗  键寄存器 窗口看门狗 特点 STM32内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障,当计数器达到给定的超时值时,触发一个中断(仅适用于窗

    2024年03月15日
    浏览(78)
  • STM32--WDG看门狗

    WDG看门狗(Watchdog Timer)是一种常见的硬件设备,在STM32F10系列中,有两种看门狗,分别是独立看门狗和窗口看门狗,可以 用来监测系统的运行状态,并在系统出现故障或停止运行时采取相应措施 ,以确保系统的稳定性和可靠性。 WDG看门狗一般采用一个 计时器 和一个 喂狗机

    2024年02月08日
    浏览(73)
  • STM32——看门狗WDG

    看门狗全称:WatchDog,简称WDG,本质作用是是自动复位电路; WDG主要是监控程序的运行状态,当程序因为设计漏洞,硬件故障或者电磁干扰等原因时,造成程序出现卡死或者跑飞时,看门狗可以自动复位电路,可以避免程序陷入长时间的罢工状态,保证了系统的可靠性和安全

    2024年01月22日
    浏览(73)
  • STM32 HAL库 STM32CubeMX -- IWDG(独立看门狗)

    看门狗(Watchdog)就是MCU上的一种特殊的定时器,用于监视系统的运行,在发生错误(例如程序出现死循环)时,能触发一个中断或产生系统复位,防止程序跑飞。STM32 有两个看门狗,一个是独立看门狗另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看门狗号称警犬。 独立看

    2024年02月19日
    浏览(63)
  • STM32---IWDG(独立看门狗),超详细,小白入

    写在前面 :本节我们学习STM32中一个很有趣的东西——看门狗,其实在我上大学的时候,当时还没有系统学习STM32的时候,就听到过看门狗这个词语,当时老师上课不断在说看门狗,只是觉得很有意思。但是没有真正了解过,今天同大家一起学习看门狗的内容。看门狗并不难

    2024年01月19日
    浏览(49)
  • STM32F4X 独立看门狗 IWDG

    我们都知道,当一个嵌入式在运行过程中发生死机或者程序跑飞的情况的时候,我们一般都是要手动进行开关机或者复位,让程序能够重新运行。但是当一个嵌入式系统被安装到一些特殊位置时,如果发生了死机又不能及时进行手动复位,这时候就需要看门狗了。看门狗的作

    2024年02月11日
    浏览(68)
  • 单片机STM32看门狗详解(嵌入式学习)

    单片机STM32的看门狗(Watchdog)是一种硬件定时器,用于监控系统的运行状态并在出现故障或死锁时采取措施以恢复正常操作。看门狗的主要功能是定期检查系统是否正常运行,并在系统出现问题时触发复位操作。 STM32系列单片机通常配备了内置的看门狗定时器(通常称为独立

    2024年02月13日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包