源:STM8S awu及看门狗IWDG WWDG应用

AWU的应用(用库函数完成的)

  1. //切记要开启中断 且在中断函数中 AWU_GetFlagStatus(); 来清除中断
  2.  
  3. void AWU_SET(void)
  4. {
  5. CLK_PeripheralClockConfig(CLK_PERIPHERAL_AWU, ENABLE);
  6. AWU_Init(AWU_TIMEBASE_12S);
  7. }
  8.  
  9. #ifdef _COSMIC_
  10. @far @interrupt void AWU_IRQHandler(void)
  11. #else
  12. void AWU_IRQHandler(void) interrupt
  13. #endif
  14. {
  15. AWU_GetFlagStatus();
  16. }

IWDG应用(直接操作寄存器完成的) 

在需要清狗的地方调用WDT_CLR()即可

  1. void WDT_CLR(void )
  2. {
  3. IWDG->KR = IWDG_KEY_REFRESH;
  4. }
  5.  
  6. void START_WDT(void )
  7. {
  8. IWDG->KR =0X55;//打开保护
  9. IWDG->PR = IWDG_Prescaler_256;// 28Khz 256分频 
  10. IWDG->RLR = ;//重载寄存器设定 每当喂狗时 此值就会重载
  11. IWDG->KR = IWDG_KEY_REFRESH;//先喂一次
  12. IWDG->KR = IWDG_KEY_ENABLE;//启动看门狗
  13. }

WWDG应用

WWDG-CR是向下的计数器,数到0x40就会复位,窗口的上限可以任你设,最大7F,如果设成7F,几乎就成了没有窗口的看门狗了。 

窗口的意思是假如你设是0x60,那么只有在0X60-0X40间可以喂狗,其它时间喂,狗就会复位你的单片机,所以喂狗前要先判断狗饿否。

  1. typedef unsigned char uint8_t;
  2.  
  3. void WWDG_Init(uint8_t Counter, uint8_t WindowValue)
  4. {
  5. //assert_param(IS_WWDG_WINDOWLIMITVALUE_OK(WindowValue));
  6.  
  7. WWDG->WR = WWDG_WR_RESET_VALUE;
  8.  
  9. WWDG->CR = (uint8_t)((uint8_t)(WWDG_CR_WDGA | WWDG_CR_T6) | (uint8_t)Counter);
  10.  
  11. WWDG->WR = (uint8_t)((uint8_t)(~WWDG_CR_WDGA) & (uint8_t)(WWDG_CR_T6 | WindowValue));
  12.  
  13. }
  14.  
  15. #define BIT_MASK ((uint8_t)0x7F)
  16. void WWDG_SetCounter(uint8_t Counter)
  17. {
  18. WWDG->CR = (uint8_t)(Counter & (uint8_t)BIT_MASK);
  19. }
  20.  
  21. #define window_max 0x60
  22.  
  23. #define wwdg_reset 0x70
  24.  
  25. void WWDG_CLR(void)
  26. {//狗饿否
  27. if ((WWDG->CR)&0x7f)< window_max)WWDG_SetCounter(wwdg_reset) ;
  28. }
  29.  
  30. main()
  31. {
  32. WWDG_Init(wwdg_reset,window_max );
  33.  
  34. while()
  35. {
  36. WWDG_CLR
  37. }
  38. }

STM8S awu及看门狗IWDG WWDG应用(转)的更多相关文章

  1. STM32之------独立看门狗(IWDG)和窗体看门狗(WWDG)

    一     前沿废语: 之前有很风靡的游戏,名字叫<看门狗>.该游戏用了很新的引擎技术,打造出了一个辽阔庞大的世界,内容是玩家Aiden·Pearce(主角)是一名精通黑客技术的高手,当时 ...

  2. STM32之独立看门狗(IWDG)与窗口看门狗(WWDG)总结

    一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...

  3. (stm32f103学习总结)—独立看门狗(IWDG)

    一.IWDG介绍 1.1 IWDG简介 STM32F1芯片内部含有两个看门狗外设,一个是独立看门狗IWDG,另 一个是窗口看门狗WWDG.两个看门狗外设(独立和窗口)均可用于检测 并解决由软件错误导致 ...

  4. stm32 独立看门狗 IWDG

    独立看门狗IWDG 独立看门狗简单理解就是一个12位递减计数器,当计数器从某一个值递减到0时,系统就会产生一次复位 独立看门狗由专用低速时钟LSI驱动,其频率一般在30-60KHz之间,通常选择40K ...

  5. STM8L独立看门狗IWDG

    简单扼要 void IWDG_Init(void)//初始化 { IWDG->KR = 0xcc;//启动IWDG IWDG->KR = 0x55;//解除PR及RLR的写保护 IWDG- ...

  6. 独立看门狗 IWDG

    一,独立看门狗 二,独立看门狗的时钟源 独立看门狗拥有自己的时钟源,不依赖PLL时钟输出的分频信号,能够独立运行,这样子的好处就是PLL假如受到干扰, 导致运行异常,独立的看门狗还能正常地进行工作,如 ...

  7. STM32独立看门狗(IWDG)

    造成程序跑飞,只是程序的正常运行状态被打断而进入死循环,从而使单片机控制的系统无法正常工作.看门狗就是一种专门用于检测单片机程序运行状态的硬件结构. STM32内部自带了两个看门狗,独立看门狗(IWD ...

  8. STM32之独立看门狗与窗口看门狗总结

    一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...

  9. MM32看门狗学习(兼容STM32)

    MM32看门狗学习(兼容STM32) IWDG独立看门狗 思维导图 IWDG框图与理解 1.独立看门狗分为两个部分,配置寄存器在1.8V供电区,计数器的核心部分在VDD供电区(即使停机/待机模式计数器 ...

随机推荐

  1. NSTimer内存方面的探究

    今天研究一个框架,看到它对NSTimer的处理,感觉很有意思.于是自己在各种情况下都研究了一下,现总结如下. 我们用到NSTimer时,似乎习惯于会在dealloc方法中把它invalidate掉,但 ...

  2. Jquery 控制元素 上 下 移动

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  3. Login 和 Logout

    inux下Login和Logout详解                Login 是你用Linux系统工作时面对的第一个进程,这对于使用终端以及通过网络使用Linux都是正确的.但是login进程本身 ...

  4. php 个推的例子

    个推   http://docs.getui.com/server/php/start/ <?php /** * Created by PhpStorm. * User: xiaochao * ...

  5. UIWebView 使用要注意的几点

    UIWebView 使用要注意的几点 最近有客户希望将移动端统一使用HTML5来完成,在iOS端就要用到UIWebView.遇到了以下三个主要问题: 加载HTTPS页面 不像Safari可以弹出弹框问 ...

  6. stray '/241' in program 错误

    意思是c/c++中的编译错误. 该错误是指源程序中有非法字符,需要去掉非法字符.一般是由于从别的地方粘贴过来造成的. 方法:1.把所粘的文字放到记事本里就行了 2.把出错行的空格删掉重新打一下试试.

  7. HDU 5719 Arrange

    根据条件,某些位置的数字就可以确定了.确定过程中如果有冲突,则无解. 如果B中出现了递增,C中出现了递减,则无解. 对于每一个未确定的a[i],ans需要更新,ans=ans*((c[i]-b[i]+ ...

  8. opencart配置税率

    1.System->Localisation->Geo Zones新增税收区域 2.System->Localisation->Taxes->Tax Rates新增税率 ...

  9. java文件处理之压缩,分割

    http://blog.csdn.net/ycg01/article/details/1366648 java文件处理之压缩,分割 标签: javaexceptionimportnullbytefil ...

  10. 使用Log4net记录日志

    首先说说为什么要进行日志记录.在一个完整的程序系统里面,日志系统是一个非常重要的功能组成部分.它可以记录下系统所产生的所有行为,并按照某种规范表达出来.我们可以使用日志系统所记录的信息为系统进行排错, ...