일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- everon
- 라즈베리파이
- STM32
- AWS
- dynamodb
- OCPP
- YMODEM
- IOT Core
- thread
- 충전기
- 서버리스
- 전기차충전
- homeassistant
- 에버온
- Android
- raspberry
- lambda
- esp8266
- 급속충전기
- 파이썬
- flask
- 완속충전기
- 전기차
- 안드로이드
- 플라스크
- 보안
- 펌웨어
- 전기차충전기
- 디자인패턴
- 홈어시스턴트
Archives
- Today
- Total
Louie NRT Story
[STM32] STM32F4 강의 - TIM 인터럽트 본문
반응형
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:
반응형
'전기차충전기' 카테고리의 다른 글
[강의] STM32F4 - ADC with DMA (0) | 2020.12.11 |
---|---|
[펌웨어] STM32F4 강의 - EXTI (0) | 2020.12.10 |
[펌웨어] STM32F4 Driver - Todo (0) | 2020.12.06 |
[펌웨어] STM32F4 강의 - UART 통신 (0) | 2020.12.06 |
[펌웨어] STM32F4 강의 환경설정 (0) | 2020.11.25 |
Comments