STM32之獨立看門狗和視窗看門狗定時器
STM32F10系列晶片內建了2個看門狗,提高了更高的安全性等好處。獨立看門狗(IWDG)是由專門的40KHz的低速時鐘驅動,即使主時鐘發生故障也仍然有效。
IWDG的主要特徵有自由執行的遞減計數器,時鐘由獨立的RC振盪器提供,看門狗被啟用後,則在計數器計數至0x000時產生復位。
WWDG的主要特徵有可程式設計的自由執行遞減計數器,條件復位:當遞減計數器的之小於0x40,若看門狗被起動則產生復位,要是在視窗外被重新裝載,要是看門狗被起動,則產生復位;如果啟動了看門狗並且允許中斷,當遞減計數器等於0x40是產生早期喚醒中斷(EWI),他可以被用於重灌載計數器以避免WWDG復位。
以下介紹獨立看門狗庫函式的使用方法。
1.IWDG_WriteAccessCmd函式的功能是使能或者失能對暫存器IDWG_PR和IDWG_RLR的寫操作。
引數IWDG_WriteAccess用於使能或失能對暫存器IWDG_PR和IWDG_RLR的寫操作。可取Enable/Disable。
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
2.IWDG_SetPrescaler函式的功能是設定IWDG的預分頻值。可以去4、8、16、32、64、128、256.
IWDG_SetPrescaler(IWDG_Prescaler_8);
3.IWDG_SetReload函式的功能是設定IWDG重灌載值。
IWDG_SetReload(0xFFFF);
4.IWDG_ReloadCounter函式的功能是按照IWDG重灌載暫存器的值重灌載IWDG計數器。
IWDG_ReloadCounter();
5.IWDG_Enable函式的功能是施恩那個IWDG;
以下是視窗看門狗庫函式的基本介紹及使用。
6.WWDG_DeInit函式的功能是將外設WWDG暫存器重設為預設值。
7.WWDG_SetPrescaler函式的功能是設定WWDG預分頻值。引數WWDG_Precscaler可取1、2、4、8.
WWDG_SetPrescaler(WWDG_Prescaler_8);
8.WWDG_SetWindowValue函式的功能是設定WWDG視窗值。引數值取值範圍在0x40到0x7F之間。
9.WWDG_EnableIT函式的功能是使能WWDG早期喚醒中斷(EWI)。
10.WWDG_SetCounter函式的功能是設定WWDG計數器值。引數取值範圍在0x40到0x7F之間。
11,WWDG_Enable函式的功能是使能WWDG並裝入計數器值。引數取值範圍在0x40到ox7F之間。
12.WWDG_GetFlagStatus函式的功能是檢查WWDG早期喚醒中斷標誌位被設定與否。
13.WWDG_ClearFlag函式的功能是清除早期喚醒中斷標誌位。