STM32之獨(dú)立看門(mén)狗和窗口看門(mén)狗定時(shí)器
掃描二維碼
隨時(shí)隨地手機(jī)看文章
STM32F10系列芯片內(nèi)置了2個(gè)看門(mén)狗,提高了更高的安全性等好處。獨(dú)立看門(mén)狗(IWDG)是由專門(mén)的40KHz的低速時(shí)鐘驅(qū)動(dòng),即使主時(shí)鐘發(fā)生故障也仍然有效。
IWDG的主要特征有自由運(yùn)行的遞減計(jì)數(shù)器,時(shí)鐘由獨(dú)立的RC振蕩器提供,看門(mén)狗被激活后,則在計(jì)數(shù)器計(jì)數(shù)至0x000時(shí)產(chǎn)生復(fù)位。
WWDG的主要特征有可編程的自由運(yùn)行遞減計(jì)數(shù)器,條件復(fù)位:當(dāng)遞減計(jì)數(shù)器的之小于0x40,若看門(mén)狗被起動(dòng)則產(chǎn)生復(fù)位,要是在窗口外被重新裝載,要是看門(mén)狗被起動(dòng),則產(chǎn)生復(fù)位;如果啟動(dòng)了看門(mén)狗并且允許中斷,當(dāng)遞減計(jì)數(shù)器等于0x40是產(chǎn)生早期喚醒中斷(EWI),他可以被用于重裝載計(jì)數(shù)器以避免WWDG復(fù)位。
以下介紹獨(dú)立看門(mén)狗庫(kù)函數(shù)的使用方法。
1.IWDG_WriteAccessCmd函數(shù)的功能是使能或者失能對(duì)寄存器IDWG_PR和IDWG_RLR的寫(xiě)操作。
參數(shù)IWDG_WriteAccess用于使能或失能對(duì)寄存器IWDG_PR和IWDG_RLR的寫(xiě)操作??扇nable/Disable。
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
2.IWDG_SetPrescaler函數(shù)的功能是設(shè)置IWDG的預(yù)分頻值??梢匀?、8、16、32、64、128、256.
IWDG_SetPrescaler(IWDG_Prescaler_8);
3.IWDG_SetReload函數(shù)的功能是設(shè)置IWDG重裝載值。
IWDG_SetReload(0xFFFF);
4.IWDG_ReloadCounter函數(shù)的功能是按照IWDG重裝載寄存器的值重裝載IWDG計(jì)數(shù)器。
IWDG_ReloadCounter();
5.IWDG_Enable函數(shù)的功能是施恩那個(gè)IWDG;
以下是窗口看門(mén)狗庫(kù)函數(shù)的基本介紹及使用。
6.WWDG_DeInit函數(shù)的功能是將外設(shè)WWDG寄存器重設(shè)為默認(rèn)值。
7.WWDG_SetPrescaler函數(shù)的功能是設(shè)置WWDG預(yù)分頻值。參數(shù)WWDG_Precscaler可取1、2、4、8.
WWDG_SetPrescaler(WWDG_Prescaler_8);
8.WWDG_SetWindowValue函數(shù)的功能是設(shè)置WWDG窗口值。參數(shù)值取值范圍在0x40到0x7F之間。
9.WWDG_EnableIT函數(shù)的功能是使能WWDG早期喚醒中斷(EWI)。
10.WWDG_SetCounter函數(shù)的功能是設(shè)置WWDG計(jì)數(shù)器值。參數(shù)取值范圍在0x40到0x7F之間。
11,WWDG_Enable函數(shù)的功能是使能WWDG并裝入計(jì)數(shù)器值。參數(shù)取值范圍在0x40到ox7F之間。
12.WWDG_GetFlagStatus函數(shù)的功能是檢查WWDG早期喚醒中斷標(biāo)志位被設(shè)置與否。
13.WWDG_ClearFlag函數(shù)的功能是清除早期喚醒中斷標(biāo)志位。