新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > stm32 獨立看門狗

stm32 獨立看門狗

作者: 時間:2016-11-17 來源:網絡 收藏
獨立看門狗(IWDG)由專用的低速時鐘(LSI)驅動,即使主時鐘發(fā)生故障它也仍然有效。IWDG最適合應用于那些需要看門狗作為一個在主程序之外,能夠完全獨立工作,并且對時間精度要求較低的場合。WWDG最適合那些要求看門狗在精確計時窗口起作用的應用程序。”
/*
* 采用獨立看門狗作為看門狗定時器
* 獨立看門狗由內部專門的 40Khz 低速時鐘驅動,
* 即使主時鐘發(fā)生故障,它也仍然有效
*000:預分頻因子=4 // 最短時間 0.1 ms
*001:預分頻因子=8 // 最短時間 0.2 ms
*010:預分頻因子=16 // 最短時間 0.4 ms
*011:預分頻因子=32 // 最短時間 0.8 ms
*100:預分頻因子=64 // 最短時間 1.6 ms
*101:預分頻因子=128 // 最短時間 3.2 ms
*110:預分頻因子=256 // 最短時間 6.4 ms
*111:預分頻因子=256 //
*/
初始化,并且啟動看門狗
void IWDG_Initial(void)
{
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //①使能對寄存器 I 寫操作
IWDG_SetPrescaler(IWDG_Prescaler_16); //②設置 IWDG 預分頻值:設置 IWDG 預分頻值
IWDG_SetReload(0xFFF); //②設置 IWDG 重裝載值 定時時間1638.4ms
IWDG_ReloadCounter(); //③按照 IWDG 重裝載寄存器的值重裝載 IWDG 計數(shù)器
IWDG_Enable(); //④使能 IWDG
}
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//使能寫入PR和RLR
主程序中喂狗
void main void
{
while(1)
{
IWDG_ReloadCounter();// 喂狗 1.6 s的看門狗
}
}


關鍵詞: stm32獨立看門

評論


技術專區(qū)

關閉