STM32F4 강의 – TIM 인터럽트

  • Post author:
  • Post category:STM32

출처: https://louie0724.tistory.com/359

1. Timer 기본 설정

– 설정 전에 기존의 HCLK 값이 100MHz 임을 확인함

 

– TIM7 활성화함

– Prescaler와 Auto-Reload 값을 변경함

 

※ 강의 예제

 

Auto Reload Register = Period

HCLK = 168MHZ
APB1 TIM CLK = HCLK / 2 = 84MHz
APB2 TIM CLK = HCLK = 168MHZ

즉 한번 올라가는데 1/84,000,000[s]

Prescaler: 클럭을 천천히 사용하도록함
최대 2^16 – 1 까지 샐 수 있음

한번 증가할때 다음과 같이 설정 할 수 있음
TIM CLK = APM1 TIM CLK / Prescaler
ex) Prescaler를 10,000으로 하게 되면
TIM CLK는 1 / 8400 이 됨. 한번 증가할 때 1 / 8400[s]가 됨
이때 Auto Reload Register를 8400으로 하면 8400번 증가 할때
인터럽트가 1번 발생함. 계산하면 1초에 한번 인터럽트가 발생함.

– 타이머 인터럽트 설정

2. 타이머 인터럽트 코드 작성

– TIM7_IRQHandler -> HAL_TIM_IRQHandler -> HAL_TIM_PeriodElapsedCallback

– 1초마다 LED 깜빡이도록 함

 

– TIMER 활성화 실행

Reference:

https://youtu.be/GtpHPYGYGNo