대표적으로는 부저(Buzzer)에서 사용
부저같은 경우는 펄스 폭을 ARR의 50%로만 유지하면 문제없음
- while문으로 계속 실시간으로 바꾸다보면 갑자기 PWM신호의 출력이 없어져버리는 현상 : 펄스의 주기를 실시간으로 바꾸려면 ARR가 아닌 prescaler 을 통해 변경해야함
[기존]
84000000 / 168 / 1000 = 500 Hz 200 Hz 사이의 간격으로 하기위해서는
84000000 / 168 (고정) / x = 200 ⇒ x : 2500
PWM 출력이 갑자기 사라지는 (출력이 아예 없음) 경우가 있기 때문에 ARRegister 가 아닌 prescaler 레지스터를 접근하면서 실시간으로 변경해주면 됨
- psc를 바꾸나 arr을 바꾸나 pwm 주기가 변하는 것은 똑같음 ⇒ ARR값의 의미만 조금 다를 뿐
'FW > STM32' 카테고리의 다른 글
| 06-2_PWM : PWM 신호이용 Application (0) | 2023.02.21 |
|---|---|
| 06-1_PWM : Timer 을 이용한 PWM (1) | 2023.02.21 |
| 05_EXTI (외부인터럽트) (3) | 2023.02.21 |
| 04_Timer_Interrupt (1) | 2023.02.21 |
| 03_Character_LCD (1) | 2023.02.21 |
























