-
STM32F0에서 IWDG가 작동하지 않을때DEVICE 2023. 1. 16. 20:32
WWDG는 여유시간이 짧다.
그래서, 많은 로직을 돌리거나, 통신 등에 시간이 소모될때 적합하지 않다.
그래서 0.5초정도로 쓸 수도 있는 IWDG를 쓰는데
잘 쓰고 있던 IWDG가 동작을 안한다.
기본 코드는 아래와 같았다.
static void MX_IWDG_Init(void) { /* USER CODE BEGIN IWDG_Init 0 */ /* USER CODE END IWDG_Init 0 */ /* USER CODE BEGIN IWDG_Init 1 */ /* USER CODE END IWDG_Init 1 */ hiwdg.Instance = IWDG; hiwdg.Init.Prescaler = IWDG_PRESCALER_4; hiwdg.Init.Window = 4095; hiwdg.Init.Reload = 4095; if (HAL_IWDG_Init(&hiwdg) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN IWDG_Init 2 */ /* USER CODE END IWDG_Init 2 */ }Window값을 바꿔도, Reload값을 바꿔도 동작을 안한다.
while문 안에는 HAL_IWDG_Refresh(&hiwdg); 코드로 갱신중이였다.
이상하다 싶어 값을 이것저것 수정하던중...
hiwdg.Init.Prescaler = IWDG_PRESCALER_4;
이걸
hiwdg.Init.Prescaler = IWDG_PRESCALER_8;
로 바꾸니 잘 된다
'DEVICE' 카테고리의 다른 글
ESP-IDF 윈도우즈 설치 (1) 2023.10.12 STM32 TIMER PWM NEGATIVE 동작 안할때 (0) 2023.02.24 WINDOWS에서 ESP-IDF 사용하기 VSCODE (0) 2023.01.14 Nanopc-T3 개발 세팅 (0) 2022.09.28 라즈베리파이 win32Diskimager를 이용해 덮어쓰기 (0) 2021.01.08