打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
stm8的独立看门狗与窗口看门狗

http://blog.csdn.net/dengrengong/article/details/40195373

2014

STM8拥有两个硬件看门狗,分别叫做独立看门狗和窗口看门狗

独立看门狗的框图如下


我们可以看到,独立看门狗的时钟来自于LSI内部低速振荡器,经过二分频到达看门狗外设单元,在经过一个七位的预分频到达计数器,这个七位的分频由PR控制,看门狗内部使用一个八位的向下计数计数器来计数,计数到0的时候发出看门狗复位信号,同时有一个RLR可以存放看门狗的初始化值,但对KR操作的时候看门狗计数器重载RLR的数据,达到喂狗目的

 

所以,对看门狗的处理应该分为以下步骤

1.      关闭看门狗

2.      启动LSI系统低速时钟

3.      设置时钟的分频系数

4.      设置看门狗重载的值

5.      在没有复位之前喂狗,重新计数

相关寄存器如下


使用方法见以下代码

 

 

  1. #ifndef __IWDG_H_  
  2. #define __IWDG_H_  
  3. #include "stm8s.h"  
  4.   
  5.   
  6. void IWDGInit(void);//默认计数时间一s  
  7.   
  8. void IWDGFeed(void);  
  9.   
  10.   
  11.   
  12. #endif  

  1. #include "iwdg.h"  
  2.   
  3.   
  4. void IWDGInit(void) //默认计数时间一分钟  
  5. {  
  6.     //首先打开LSI时钟  
  7.     CLK->ICKR |= (1<<3);  
  8.     while((CLK->ICKR&(1<<4)) == 0);//等待时钟稳定  
  9.     IWDG->KR = 0x55;//写入解锁  
  10.     IWDG->PR = 0x06;//分频64K /256 = 250  
  11.     IWDG->RLR = 250;//计数值250 1复位  
  12.     IWDG->KR = 0xaa;//锁定并刷新分频器  
  13.     IWDG->KR = 0xcc;//启动独立看门狗  
  14.       
  15. }  
  16.   
  17. void IWDGFeed(void)  
  18. {  
  19.     IWDG->KR = 0xaa;//锁定并刷新分频器  
  20. }  

窗口看门狗这是另一种模式,芯片定义了一个下线,低于0x40的时候产生复位,同时定义了一个上限,高于上限的时候喂狗同样产生复位

  窗口看门狗的时钟来自于cpu时钟,分频数为12288,使用看门狗过程如下

1设置窗口值

2设置当前计数值

3启动看门狗

窗口看门狗一旦启动无法关闭,除非发生复位系统自动关闭,具体使用查看代码

  1. #ifndef __WWDG_H_  
  2. #define __WWDG_H_  
  3. #include "stm8s.h"  
  4.   
  5.   
  6. void WWDGInit(void);  
  7.   
  8. void WWDGFeed(void);  
  9.   
  10.   
  11.   
  12. #endif  

  1. #include "wwdg.h"  
  2.   
  3. void WWDGInit(void)  
  4. {  
  5.     if((WWDG->CR&0x80) == 1)  
  6.     {  
  7.         return;  
  8.     }  
  9.     else  
  10.     {  
  11.         WWDG->WR = 0x60;  
  12.         WWDG->CR = 0xff;  
  13.     }  
  14. }  
  15.   
  16. void WWDGFeed(void)  
  17. {  
  18.     u8 windows = WWDG->WR ;  
  19.     if((WWDG->CR&0x7f)>=windows)  
  20.         return;  
  21.     else  
  22.          WWDG->CR |= 0x7f;  
  23. }  



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
STM32 的看门狗
STM32看门Dog
stm32 独立看门狗[操作寄存器+库函数]-Changing's Blog
看门狗的学习与应用
stm8s 独立看门狗和窗口看门狗的代码
STM32 独立看门狗简介
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服