STM8S awu及看门狗IWDG WWDG应用(转)
AWU的应用(用库函数完成的)
//切记要开启中断 且在中断函数中 AWU_GetFlagStatus(); 来清除中断 void AWU_SET(void)
{
CLK_PeripheralClockConfig(CLK_PERIPHERAL_AWU, ENABLE);
AWU_Init(AWU_TIMEBASE_12S);
} #ifdef _COSMIC_
@far @interrupt void AWU_IRQHandler(void)
#else
void AWU_IRQHandler(void) interrupt
#endif
{
AWU_GetFlagStatus();
}
IWDG应用(直接操作寄存器完成的)
在需要清狗的地方调用WDT_CLR()即可
void WDT_CLR(void )
{
IWDG->KR = IWDG_KEY_REFRESH;
} void START_WDT(void )
{
IWDG->KR =0X55;//打开保护
IWDG->PR = IWDG_Prescaler_256;// 28Khz 256分频
IWDG->RLR = ;//重载寄存器设定 每当喂狗时 此值就会重载
IWDG->KR = IWDG_KEY_REFRESH;//先喂一次
IWDG->KR = IWDG_KEY_ENABLE;//启动看门狗
}
WWDG应用
WWDG-CR是向下的计数器,数到0x40就会复位,窗口的上限可以任你设,最大7F,如果设成7F,几乎就成了没有窗口的看门狗了。
窗口的意思是假如你设是0x60,那么只有在0X60-0X40间可以喂狗,其它时间喂,狗就会复位你的单片机,所以喂狗前要先判断狗饿否。
typedef unsigned char uint8_t; void WWDG_Init(uint8_t Counter, uint8_t WindowValue)
{
//assert_param(IS_WWDG_WINDOWLIMITVALUE_OK(WindowValue)); WWDG->WR = WWDG_WR_RESET_VALUE; WWDG->CR = (uint8_t)((uint8_t)(WWDG_CR_WDGA | WWDG_CR_T6) | (uint8_t)Counter); WWDG->WR = (uint8_t)((uint8_t)(~WWDG_CR_WDGA) & (uint8_t)(WWDG_CR_T6 | WindowValue)); } #define BIT_MASK ((uint8_t)0x7F)
void WWDG_SetCounter(uint8_t Counter)
{
WWDG->CR = (uint8_t)(Counter & (uint8_t)BIT_MASK);
} #define window_max 0x60 #define wwdg_reset 0x70 void WWDG_CLR(void)
{//狗饿否
if ((WWDG->CR)&0x7f)< window_max)WWDG_SetCounter(wwdg_reset) ;
} main()
{
WWDG_Init(wwdg_reset,window_max ); while()
{
WWDG_CLR
}
}
STM8S awu及看门狗IWDG WWDG应用(转)的更多相关文章
- STM32之------独立看门狗(IWDG)和窗体看门狗(WWDG)
一 前沿废语: 之前有很风靡的游戏,名字叫<看门狗>.该游戏用了很新的引擎技术,打造出了一个辽阔庞大的世界,内容是玩家Aiden·Pearce(主角)是一名精通黑客技术的高手,当时 ...
- STM32之独立看门狗(IWDG)与窗口看门狗(WWDG)总结
一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...
- (stm32f103学习总结)—独立看门狗(IWDG)
一.IWDG介绍 1.1 IWDG简介 STM32F1芯片内部含有两个看门狗外设,一个是独立看门狗IWDG,另 一个是窗口看门狗WWDG.两个看门狗外设(独立和窗口)均可用于检测 并解决由软件错误导致 ...
- stm32 独立看门狗 IWDG
独立看门狗IWDG 独立看门狗简单理解就是一个12位递减计数器,当计数器从某一个值递减到0时,系统就会产生一次复位 独立看门狗由专用低速时钟LSI驱动,其频率一般在30-60KHz之间,通常选择40K ...
- STM8L独立看门狗IWDG
简单扼要 void IWDG_Init(void)//初始化 { IWDG->KR = 0xcc;//启动IWDG IWDG->KR = 0x55;//解除PR及RLR的写保护 IWDG- ...
- 独立看门狗 IWDG
一,独立看门狗 二,独立看门狗的时钟源 独立看门狗拥有自己的时钟源,不依赖PLL时钟输出的分频信号,能够独立运行,这样子的好处就是PLL假如受到干扰, 导致运行异常,独立的看门狗还能正常地进行工作,如 ...
- STM32独立看门狗(IWDG)
造成程序跑飞,只是程序的正常运行状态被打断而进入死循环,从而使单片机控制的系统无法正常工作.看门狗就是一种专门用于检测单片机程序运行状态的硬件结构. STM32内部自带了两个看门狗,独立看门狗(IWD ...
- STM32之独立看门狗与窗口看门狗总结
一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...
- MM32看门狗学习(兼容STM32)
MM32看门狗学习(兼容STM32) IWDG独立看门狗 思维导图 IWDG框图与理解 1.独立看门狗分为两个部分,配置寄存器在1.8V供电区,计数器的核心部分在VDD供电区(即使停机/待机模式计数器 ...
随机推荐
- hdu 5536 xor题
input 1<=T<=1000 3<=n<=1000 s1 s2 ... sn 0<=si<=10e9 最多十个样例n>=100 output max((a ...
- C 汇编代码 函数调用指令和栈平衡
1. CALL指令: CALL指令可不是如唤指令,而是子程序调用指令.那么汇编语言中的子程序是什么呢?子程序能被其它程序调用,在实现某种功能后能自动返回到调用程序去的程序.其最后一条指令一定是返回指令 ...
- GameUnity 2.0 发布倒计时
万众期待的 gameunity 网络游戏框架 已经完成了,现在在最后的检验调试阶段. 因为版本 改动非常之大,所以 版本号 从0.2版本 改成 2.0版本. gameunity事件部分,一如既往保持高 ...
- m,mm,mmm的用法
通过查看android源码目录下的build/envsetup.sh文件,可知: - m: Makes from the top of the tree. - mm: Build ...
- 转:Loadrunner打开https报错“Internet…
Loadrunner 录制htpps 协议通过IE打开页面,报错“Internet Explorer cannot display the webpage”. 但是直接打开IE不通过 loadrunn ...
- 保存iptables的防火墙规则的方法【转载】
转自: 保存iptables的防火墙规则的方法 - 51CTO.COMhttp://os.51cto.com/art/201103/249504.htm 保存iptables的防火墙规则的方法如下: ...
- java dom4j解析xml实例(3)
代码运行前需要先导入dom4j架包. 需要解析的XML文件test.xml如下: <students> <student age="25"><!--如 ...
- div定位
1.float定位带来的问题<html> <head> <title>div浮动引发的问题</title> </head> <styl ...
- Android程序两种退出的方法
两种程序退出的方法: Context的finish()方法: android.os.Process的killProcess()方法:(当程序isRegistered()失败,说明程序被修改过,调用ki ...
- Zigbee协议栈OSAL层API函数【转载】
OSAL层提供了很多的API来对整个的协议栈进行管理.主要有下面的几类:信息管理.任务同步.时间管理.中断管理.任务管理.内存管理.电源管理以及非易失存储管理.看到这些管理是不是感 ...