728x90
타이머를 위한 보드 설정은 전 글에 나와있으니 참고하자.
https://silvow94.tistory.com/36
이번에는 타이머 동작 주파수를 이용하여 원하는 주기를 설정해보려 한다.
먼저, 타이머의 Clock Source를 Internal Clock으로 설정하고
우리는 주파수 계산을 통해 Prescaler와 Counter Period(ARR)을 이용하여 주기를 설정할 것이다.
설정을 마쳤으면, 주기와 주파수에 대해 알아보자.
주파수(Frequency) : 1초 동안 신호가 진동한 수 (단위 : Hz)
주기(Time Period) : 1회 반복하는데 걸리는 시간
예를 들어, 1Hz는 1초에 1번 주기적인 현상이 발생하므로 주기는 1초가 된다.
2Hz는 1초에 2번 주기적인 현상이 발생하므로 주기는 0.5초가 된다.
즉, $$ 주기=\frac{1}{주파수} $$ 이다.
주기와 주파수의 관계는 알았으니, 주파수를 계산하는 법을 알아보자
타이머 동작 주파수 식은 다음과 같다.
$$ 타이머\,동작\,주파수 =\frac{\frac{main\,clock}{prescaler + 1}}{period + 1} $$
메인 클럭은 보드마다 다른데
Nucleo 실습 보드의 메인 클럭은 84Mhz(90Mhz max)를 사용한다. (Clock Configuration)
728x90
'임베디드 (Embedded) > STM32' 카테고리의 다른 글
[STM32] STM32CubeIDE i2C-LCD 사용하기 (1) | 2023.11.08 |
---|---|
[STM32] STM32CubeIDE 조이스틱 설정 ADC, DMA (0) | 2023.11.07 |
[STM32] NUCLEO-F429ZI 타이머 카운트 설정 및 HAL_IncTick(), HAL_SYSTICK_Callback()을 이용하여 led 깜빡이기 (0) | 2023.10.26 |
[STM32] NUCLEO-F429ZI UART 통신 print 사용 및 Error opening 해결 (1) | 2023.10.24 |
[STM32] NUCLEO-F429ZI 7세그먼트와 스위치로 숫자출력 (0) | 2023.10.20 |