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函数的功能是清除早期唤醒中断标志位。