什么是stm32stm32窗口看门狗狗

关于stm32的硬件看门狗_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
关于stm32的硬件看门狗
数据手册上就稍微提了一下,这到底是个什么东西啊,求大神解答
我有更好的答案
如果被设置的固定时间内不进行重置watchdog timer,它便让系统reset,而狗是需要喂养的,如果一段时间不喂它就会反过来咬你一下(好恶劣的狗哇),所以它的作用是用于在系统运行过程中出现问题或是进入不可预知的错误而进行复位,大概就是这个意思在MCU中,硬件看门狗,在运行程序中要反复对看门狗进行reload你就想着你养了一条狗
这是窗口和独立看门狗的原理吧!我是说硬件看门狗
在STM32中有一个Option Bytes(地址是0x1FFF C000),其中Bit 5是WDG_SW,0是Hardware watchdog,1是表示S在Flash option control register (FLASH_OPTCR)Bit 7:5可以选择WDG_SW,具体可以试下;你所谓的硬件看门狗就是通过这个device option bits位进行设置,这个与你所谓的窗口和独立看门狗不同的是,复位重启后不需要软件配置就会使能,剩下的原理与它们一样
采纳率:83%
来自团队:
为您推荐:
其他类似问题
等待您来回答STM32 例程看门狗_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
STM32 例程看门狗
&&STM32 例程
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩12页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢查看: 5349|回复: 4
窗口看门狗和独立看门狗的区别
主题帖子精华
初级会员, 积分 110, 距离下一级还需 90 积分
在线时间6 小时
最新做东西,发现老是死机,于是研究了看门狗,看了论坛中好多帖,收获了不少
想借此平台总结下
看门狗和普通的单片机一样,计数器从 0xFFF 递减计数,到0产生复位,其中计数时间可设置!也就是说在该时间内,喂狗一次,计数器又开始从 0xFFF 递减计数,不会产生复位,原理很简单。可在主函数,中断中喂狗。一旦单片机死机不执行喂狗时,就复位。
窗口看门狗是在计数器从0x7f---上窗口---下窗口——ox3f。其中0x7f---上窗口即使喂狗也无效,而上窗口---下窗口——ox3f间喂狗有效!当计时器执行到下窗口时(0x4f)会产生中断。到0x3f,如果仍然没喂狗则会复位!
1)大致简介这2只狗,窗口看门狗得喂狗时间可控制在一个范围里,同时假如程序死机,可在中断里保存重要数值在flash中(但要快在复位前),到ox3f复位重启!
独立看门狗如果死机在喂狗那条语句,这程序不会复位,这样是不行的。而窗口看门狗的有效喂狗时间可控制,这样的情况几乎为0.
那是不是独立看门狗就不如窗口看门狗了呢????????那也不是
独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然 有效。而窗口看门狗是用的pclk1,这不是这样啦!!!
看来俩条狗一起用吧!!!安全大大提高啦!!
由于水平有限,可能哪有不对的地方,望小伙伴多多指教,完善!!!!谢谢
主题帖子精华
金钱116894
在线时间893 小时
谢谢分享。。。。
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
新手上路, 积分 42, 距离下一级还需 8 积分
在线时间4 小时
窗口看门狗怎么去喂狗?还是说只要设置了初始化和中断就可以了吗?没有触发语句?
年轻不要吧钱看的太重要。
主题帖子精华
初级会员, 积分 151, 距离下一级还需 49 积分
在线时间19 小时
主题帖子精华
初级会员, 积分 52, 距离下一级还需 148 积分
在线时间5 小时
Powered by目前我的使用方法为:
配置过程:
void Wdg_Init(void)
// Enable WDG clocks
RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG , ENABLE);
// PCKL1: 36MHZ
// WWDG clock counter = (PCLK1/4096)/8 = 488 Hz (~2 ms)
WWDG_SetPrescaler(WWDG_Prescaler_8);
// Set Window value to 65
WWDG_SetWindowValue(65);
// Enable WWDG and set counter value to 127, WWDG timeout = ~2 ms * 64 = 130 ms
WWDG_Enable(127);
// Clear EWI flag
WWDG_ClearFlag();
//Enable EW interrupt
WWDG_EnableIT();
在中断中使用:
void WWDG_IRQHandler(void)
OS_ENTER_CRITICAL();
//Tell uC/OS-II that we are starting an ISR
OSIntNesting++;
OS_EXIT_CRITICAL();
// Update WWDG counter
if(wdg_clr_flag == 1)
WWDG_SetCounter(0x7F);
wdg_clr_flag = 0;
// Clear EWI flag
WWDG_ClearFlag();
OSIntExit();
// Tell uC/OS-II that we are leaving the ISR
wdg_clr_flag 这个标志是在钩子函数中设置
extern volatile unsigned long
OSTaskIdleHook (void)
wdg_clr_flag = 1;
我想知道大家都是怎么用的!大家可以和我讨论一下吗?
与非门科技(北京)有限公司 All Rights Reserved.
京ICP证:070212号
北京市公安局备案编号: 京ICP备:号独立看门狗
首先,我们需要先要了解一下什么是看门狗?
-在由单片机构成的微型计算机中,由于单片机的工作常常会受到来自外界的各种干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统陷入停滞状态。所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称&看门狗&(watchdog)。
看门狗解决的问题是什么?
-在程序跑飞(程序异常运行)的情况,使系统复位,程序重新执行。
STM32内置两个看门狗:独立看门狗和窗口看门狗。
两个看门狗提供了更高的安全性,时间的精确性和使用的灵活性。
两个看门狗设备可以用来检测和解决由软件错误引起的故障。当计数器达到给定的超时值时,触发一个中断(仅适用窗口看门狗)或者系统复位。
独立看门狗IWDG由专用的低速时钟LSI驱动,即使主时钟发生故障它仍然有效。
-独立看门狗适合应用于需要看门狗作为一个在主程序之外能够完全独立工作,并且对事件精度要求低的场合。
窗口看门狗由从APB1时钟分频后得到时钟驱动。通过可配置的时间窗口来检测应用程序非正常的过迟或过早操作。窗口看门狗最适合那些要求看门狗在精确计时窗口起作用的程序。
M7的独立看门狗还可以配置成窗口看门狗使用。但是因为M7也带有窗口看门狗,所以一般情况下,我们较少使用此功能。
独立看门狗工作原理描述:
-在键值寄存器IWDG_KR中写入0XCCCC,开启独立看门狗。此时计数器开始从其复位值0XFFF递减,当计数器值计数到尾值0x000时会产生一个复位信号IWDG_RESET。
无论何时,只要在键值寄存器IWDG_KR中写入0xAAAA也就是通常说的喂狗,自动重装载寄存器IWDG_RLR的值就会重新加载到计数器,从而避免看门狗复位。
下图为独立看门狗的框图:
独立看门狗超时时间的计算:
然后是独立看门狗的寄存器:
1.键值寄存器:IWDG_KR ,0-15位有效
2.预分频寄存器: IWDG_PR , 0-2位有效,具有写保护功能,要操作先取消写保护
3.重装载寄存器 :IWDG_RLR, 0-11位有效,具有写保护功能,要操作先取消写保护
4.状态寄存 : IWDG_SR , 0-1位有效
独立看门狗操作步骤:

我要回帖

更多关于 stm32看门狗程序 的文章

 

随机推荐