C언어,ARM
stm32 - WDT
안녕1999
2020. 6. 20. 22:30
STM32는 2가지 워치독을 가지고 있다. IWDG는 예전의 방식. 일정시간마다 계속 와치독을 리셋해주어야한다. WWDG는 특정 시간에만 와치독을 리셋할 수 있다.(보다 정밀한 시간 계획이 필요하다) HAL 드라이버 코드가 잘 동작하지 않아서, 새로 작성. #include "stm32f7xx_hal.h" #include "stm32f7xx_hal_iwdg.h" void WDG_Init(void) { IWDG->KR=IWDG_KEY_ENABLE; IWDG->KR=IWDG_KEY_WRITE_ACCESS_ENABLE; IWDG->PR=IWDG_PRESCALER_256;//IWDG_PRESCALER_32 //리셋시간 조정용 IWDG->RLR=1000; IWDG->KR=IWDG_KEY_RELOAD; } void WDG_reset(void) { IWDG->KR=IWDG_KEY_RELOAD; }