定时器/PWM 计算器
输入系统时钟和目标频率,自动计算所有可行的 PSC/ARR 组合,支持 PWM 占空比计算
STM32F1 (72 MHz) 生成 1 kHz 方波:PSC=71, ARR=999,精确无误差。启用 PWM 后自动计算 CCR。
Timer Configuration
Select system clock, set target frequency or period, and enable PWM if needed
f_clk = 72.0000 MHz
T = 1.00000 ms
Calculation Results
Top 20 PSC/ARR combinations sorted by error
| # | PSC | ARR | Actual Frequency | Error | Copy |
|---|---|---|---|---|---|
| 1 | 1 | 35999 | 1.00000 kHz | Exact | |
| 2 | 2 | 23999 | 1.00000 kHz | Exact | |
| 3 | 3 | 17999 | 1.00000 kHz | Exact | |
| 4 | 4 | 14399 | 1.00000 kHz | Exact | |
| 5 | 5 | 11999 | 1.00000 kHz | Exact | |
| 6 | 7 | 8999 | 1.00000 kHz | Exact | |
| 7 | 8 | 7999 | 1.00000 kHz | Exact | |
| 8 | 9 | 7199 | 1.00000 kHz | Exact | |
| 9 | 11 | 5999 | 1.00000 kHz | Exact | |
| 10 | 14 | 4799 | 1.00000 kHz | Exact | |
| 11 | 15 | 4499 | 1.00000 kHz | Exact | |
| 12 | 17 | 3999 | 1.00000 kHz | Exact | |
| 13 | 19 | 3599 | 1.00000 kHz | Exact | |
| 14 | 23 | 2999 | 1.00000 kHz | Exact | |
| 15 | 24 | 2879 | 1.00000 kHz | Exact | |
| 16 | 29 | 2399 | 1.00000 kHz | Exact | |
| 17 | 31 | 2249 | 1.00000 kHz | Exact | |
| 18 | 35 | 1999 | 1.00000 kHz | Exact | |
| 19 | 39 | 1799 | 1.00000 kHz | Exact | |
| 20 | 44 | 1599 | 1.00000 kHz | Exact |
Formula Reference
Timer Output Frequency
f_out = f_clk / ((PSC + 1) × (ARR + 1))
PSC (Prescaler) divides the clock, ARR (Auto-Reload Register) defines the counter period. Both are 16-bit registers (0 ~ 65535).
PWM Duty Cycle
duty = CCR / (ARR + 1) × 100%
CCR (Capture/Compare Register) controls the duty cycle. CCR = duty% × (ARR + 1) / 100.
Period
T = 1 / f_out = (PSC + 1) × (ARR + 1) / f_clk