#include "stm32f10x.h" // Device header
#include "Delay.h"
#include "LED.h"
#include "key.h"
#include "OLED.h"
uint8_t key_val;
int main()
{
OLED_Init();
KEY_Init();
OLED_ShowString(1,1,"IWDG TEST");;
if( RCC_GetFlagStatus(RCC_FLAG_IWDGRST)==SET)//如果是看萌购的复位
{
OLED_ShowString(2,1,"IWDGRST");
Delay_ms(100);
OLED_ShowString(2,1," ");
Delay_ms(100);
RCC_ClearFlag();//置一后手动清零
}
else
{
OLED_ShowString(3,1,"RST");
Delay_ms(100);
OLED_ShowString(3,1," ");
Delay_ms(100);
}
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//解除写保护 //这里设定时间1000ms
IWDG_SetPrescaler(IWDG_Prescaler_16);
IWDG_SetReload(2499);//配置重装值 RL=1000/0.025/16-1=2499
IWDG_ReloadCounter();//喂狗 这样启动之后的第一个喂狗周期就是1000ms
IWDG_Enable();//喂狗或者使能时会给见寄存器写入5555之外的值,所以就不用手动保护了
while(1){
key_scan();
IWDG_ReloadCounter();
OLED_ShowString(4,1,"FEED");
Delay_ms(200);
OLED_ShowString(4,1," ");
Delay_ms(300);
}
}
STM32 独立看门狗
最新推荐文章于 2024-07-16 18:08:06 发布