Louie NRT Story

[STM32] STM32F4 강의 - TIM 인터럽트 본문

전기차충전기

[STM32] STM32F4 강의 - TIM 인터럽트

hyeok0724.kim@gmail.com 2020. 12. 7. 00:04
반응형

Index

1. Timer 기본 설정

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

 

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

 

반응형
Comments