新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > stm8的獨(dú)立看門(mén)狗與窗口看門(mén)狗

stm8的獨(dú)立看門(mén)狗與窗口看門(mén)狗

作者: 時(shí)間:2016-11-19 來(lái)源:網(wǎng)絡(luò) 收藏
STM8擁有兩個(gè)硬件看門(mén)狗,分別叫做獨(dú)立看門(mén)狗窗口看門(mén)狗

獨(dú)立看門(mén)狗的框圖如下

本文引用地址:http://butianyuan.cn/article/201611/318189.htm


我們可以看到,獨(dú)立看門(mén)狗的時(shí)鐘來(lái)自于LSI內(nèi)部低速振蕩器,經(jīng)過(guò)二分頻到達(dá)看門(mén)狗外設(shè)單元,在經(jīng)過(guò)一個(gè)七位的預(yù)分頻到達(dá)計(jì)數(shù)器,這個(gè)七位的分頻由PR控制,看門(mén)狗內(nèi)部使用一個(gè)八位的向下計(jì)數(shù)計(jì)數(shù)器來(lái)計(jì)數(shù),計(jì)數(shù)到0的時(shí)候發(fā)出看門(mén)狗復(fù)位信號(hào),同時(shí)有一個(gè)RLR可以存放看門(mén)狗的初始化值,但對(duì)KR操作的時(shí)候看門(mén)狗計(jì)數(shù)器重載RLR的數(shù)據(jù),達(dá)到喂狗目的

所以,對(duì)看門(mén)狗的處理應(yīng)該分為以下步驟

1.關(guān)閉看門(mén)狗

2.啟動(dòng)LSI系統(tǒng)低速時(shí)鐘

3.設(shè)置時(shí)鐘的分頻系數(shù)

4.設(shè)置看門(mén)狗重載的值

5.在沒(méi)有復(fù)位之前喂狗,重新計(jì)數(shù)

相關(guān)寄存器如下




使用方法見(jiàn)以下代碼

#ifndef __IWDG_H_#define __IWDG_H_#include "stm8s.h"void IWDGInit(void);//默認(rèn)計(jì)數(shù)時(shí)間一svoid IWDGFeed(void);#endif

#include "iwdg.h"void IWDGInit(void) //默認(rèn)計(jì)數(shù)時(shí)間一分鐘{//首先打開(kāi)LSI時(shí)鐘CLK->ICKR = (1<<3);while((CLK->ICKR&(1<<4)) == 0);//等待時(shí)鐘穩(wěn)定IWDG->KR = 0x55;//寫(xiě)入解鎖IWDG->PR = 0x06;//分頻64K /256 = 250IWDG->RLR = 250;//計(jì)數(shù)值250 1復(fù)位IWDG->KR = 0xaa;//鎖定并刷新分頻器IWDG->KR = 0xcc;//啟動(dòng)獨(dú)立看門(mén)狗}void IWDGFeed(void){IWDG->KR = 0xaa;//鎖定并刷新分頻器}

窗口看門(mén)狗這是另一種模式,芯片定義了一個(gè)下線(xiàn),低于0x40的時(shí)候產(chǎn)生復(fù)位,同時(shí)定義了一個(gè)上限,高于上限的時(shí)候喂狗同樣產(chǎn)生復(fù)位

窗口看門(mén)狗的時(shí)鐘來(lái)自于cpu時(shí)鐘,分頻數(shù)為12288,使用看門(mén)狗過(guò)程如下

1設(shè)置窗口值

2設(shè)置當(dāng)前計(jì)數(shù)值

3啟動(dòng)看門(mén)狗

窗口看門(mén)狗一旦啟動(dòng)無(wú)法關(guān)閉,除非發(fā)生復(fù)位系統(tǒng)自動(dòng)關(guān)閉,具體使用查看代碼

#ifndef __WWDG_H_#define __WWDG_H_#include "stm8s.h"void WWDGInit(void);void WWDGFeed(void);#endif

#include "wwdg.h"void WWDGInit(void){if((WWDG->CR&0x80) == 1){return;}else{WWDG->WR = 0x60;WWDG->CR = 0xff;}}void WWDGFeed(void){u8 windows = WWDG->WR ;if((WWDG->CR&0x7f)>=windows)return;elseWWDG->CR = 0x7f;}



評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉