STM32_Examples/STM_WatchDog.c
2021-07-01 14:12:44 +02:00

17 lines
481 B
C

void wdt_enable(void)
{
RCC -> CSR = RCC -> CSR | 0x00000001; //Enable LSI Clock
while((RCC -> CSR & 0x02)==0)
{
//add timeout code here
}
IWDG -> KR = 0x0000CCCC; //Enable IWDG
IWDG -> KR = 0x00005555; //Enable register access
IWDG -> PR = 0x010; //Set Prescaler /16
IWDG -> RLR = 0xFFF; //Set Reload Value for 2.048 seconds
while(IWDG -> SR) //Check if flags are reset
{
//add timeout code here
}
IWDG -> KR = 0x0000AAAA; //Refresh the counter
}