반응형
STM32에서 타이머 인터럽터가 걸렸을 실행되는 HAL_TIM_IRQHandler 함수는 다음과 같다. if 문으로 타이머 인터럽터의 종류를 판단한다.
채널 1에서 Capture Compare 인터럽터(CC1 인터럽터)가 발생했을 때는 다음이 실행된다. 타이머의 SR 레지스터에서 CC1 flag이 1 인지를 검사하고 1 이라면 clear 하고 callback 함수를 호출한다.
타이머의 SR 레지스터는 다음과 같다. 0비트의 UIF가 TIM_FLAG_UPDATE이고 1비트의 CC1IF이 TIM_FLAG_CC1이다.
매크로 함수 __HAL_TIM_CLEAR_IT는 다음과 같다. Flag을 clear하려면 해당 비트에 0을 쓰면 된다. 1을 쓰도 1이 되지 않고 무시된다.
반응형
'전자 > 임베디드 시스템' 카테고리의 다른 글
STM32 타이머의 Preload 뜻 (0) | 2022.07.06 |
---|---|
Free Running Timer 이란? (0) | 2022.07.03 |
STM32 타이머 PWM 출력 (0) | 2022.06.29 |
STM32 Ethernet 통신 (0) | 2022.06.26 |
STM32 중국 짝퉁 칩 (0) | 2022.06.14 |
댓글