stm8的独立看门狗与窗口看门狗

  • 格式:docx
  • 大小:10.48 KB
  • 文档页数:2

stm8 的独立看门狗与窗口看门狗

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

的框图如下

我们可以看到,独立看门狗的时钟来自于 LSI 内部低速振荡器,经过二分频到

达看门狗外设单元,在经过一个七位的预分频到达计数器,这个七位的分频由 PR

控制,看门狗内部使用一个八位的向下计数计数器来计数,计数到 0 的时候发出

看门狗复位信号,同时有一个 RLR 可以存放看门狗的初始化值,但对 KR 操作的

时候看门狗计数器重载 RLR 的数据,达到喂狗目的

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

1.关闭看门狗

2.启动 LSI 系统低速时钟

3.设置时钟的分频系数

4.设置看门狗重载的值

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

相关寄存器如下使用方法见以下代码

#ifndef __IWDG_H_#define __IWDG_H_#include “stm8s.h”void

IWDGInit(void);//默认计数时间一 svoid IWDGFeed(void);#endif#include “iwdg.h”

void IWDGInit(void) //默认计数时间一分钟{//首先打开 LSI 时钟 CLK->ICKR =

(1ICKR&(1KR = 0x55;//写入解锁 IWDG->PR = 0x06;//分频 64K /256 =

250IWDG->RLR = 250;//计数值 250 1 复位 IWDG->KR = 0xaa;//锁定并刷新分频

器 IWDG->KR = 0xcc;//启动独立看门狗}void IWDGFeed(void){IWDG->KR =

0xaa;//锁定并刷新分频器}窗口看门狗这是另一种模式,芯片定义了一个下线,低