1. 程式人生 > >STM32之獨立看門狗和視窗看門狗定時器

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函式的功能是清除早期喚醒中斷標誌位。