<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > STM8S-獨立看門(mén)狗的應用

STM8S-獨立看門(mén)狗的應用

作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò ) 收藏
在編寫(xiě)程序時(shí)有時(shí)會(huì )出現死機或程序跑飛的情況,這時(shí)對系統有一定的影響,怎樣讓程序可以自行重啟呢,STM8S中的看門(mén)狗就是實(shí)現這一功能的,用看門(mén)狗檢測程序的執行,在看門(mén)狗的復位時(shí)間內進(jìn)行喂狗,如果程序在某個(gè)地方出現問(wèn)題,那么就不能及時(shí)的進(jìn)行喂狗,這時(shí)系統就會(huì )重新啟動(dòng),達到檢測的目的。通過(guò)觀(guān)察小燈的閃爍快慢可以看出系統是否復位。

程序如下:

本文引用地址:http://dyxdggzs.com/article/201611/321589.htm

//軟件環(huán)境:IAR FOR STM8 V1.0
//作者:Nicole

//功能:STM8的獨立看門(mén)狗應用

//日期:2010.11.04

#include
#include
unsigned int i;
//時(shí)鐘配置
void CLK_Configuration(void)
{
//CLK_ICKR= 0x08; //打開(kāi)低速時(shí)鐘
CLK_CKDIVR = 0x00;
}

//延時(shí)函數
void Delay(unsigned int i)
{
unsigned int j;
while(i--)
{
for(j=1000;j>0;j--);
}

}
//IO口配置,控制小燈
void GPIO_Init(void)
{
unsigned int i;
PD_DDR|=0x01;//PD0輸出,其余保持原功能
PD_CR1|=0x01;//對應位設置為推挽輸出
PD_CR2|=0x00;//輸出最大頻率為2MHz

//小燈閃爍的速度快(為了看的清晰循環(huán)4次)
for(i=0;i<4;i++)
{
PD_ODR=0xff;
Delay(200);
PD_ODR=0xfe;
Delay(200);
}
}


//看門(mén)狗配置

void IWDG_Init(void)
{
IWDG_KR = 0xCC; //啟動(dòng)IWDG
IWDG_KR = 0x55; //解除 PR 及 RLR 的寫(xiě)保護
IWDG_RLR = 0xff; //看門(mén)狗計數器重裝載數值
IWDG_PR = 0x06; //分頻系數為256,最長(cháng)超時(shí)時(shí)間為:1.02S
IWDG_KR = 0xAA; //刷新IDDG,避免產(chǎn)生看門(mén)狗復位,同時(shí)恢復 PR 及 RLR 的寫(xiě)保護狀態(tài)
void main(void)
{
CLK_Configuration(); // 開(kāi)啟外部時(shí)鐘
GPIO_Init();// 初始化端口
IWDG_Init();// 初始化外部看門(mén)狗
while(1)
{
PD_ODR = 0xff;//PD0為輸出1,LED
Delay(1000);//延時(shí)長(cháng)小燈閃爍慢些

PD_ODR = 0xfe;//PD0為輸出0,LED亮
Delay(1000);
}

//程序中沒(méi)有及時(shí)喂狗,所以觀(guān)察到小燈先閃爍快些,然后閃爍慢些,達到看門(mén)狗的復位時(shí)間系統重啟,循環(huán)上述過(guò)程
}



關(guān)鍵詞: STM8S獨立看門(mén)

評論


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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>