定时器中断周期·时钟分频计算器
根据时钟和分频器·计数值计算中断周期·频率。从目标周期反推最优PSC/ARR
使用方法
- 选择MCU预设(STM32 / SysTick / AVR / Custom)
- 选择计算方向(反推 / 正向)
- 输入定时器时钟(例如:72M)。常用时钟也可通过按钮选择
- 反推时输入目标周期(或中断频率),最优PSC/ARR候选会按误差最小·易读顺序显示
- 正向时输入分频器和计数寄存器,会显示中断周期·频率·计数时钟
适用场景
- 想从目标中断周期(例如:1ms, 50ms)反推PSC和ARR时
- 想从已设置的PSC/ARR确认实际中断周期·频率时
- 想了解此定时器/SysTick能产生的最长周期(最大可测周期)时
- 想快速获得RTOS滴答或周期处理的定时器设置时
常见问题
如何从目标周期确定PSC和ARR? ▼
中断周期由公式 周期 = (PSC+1)×(ARR+1)÷时钟 确定。同一周期可有多个(PSC, ARR)组合,计数时钟的易读性(如1MHz=1µs步长)会有所不同。本工具的反推功能通过列举目标比 时钟÷频率 的因子来穷举误差为0的解,并按误差最小→易读计数时钟→最细分的顺序显示候选。
16位定时器或SysTick能产生的最长周期是多少? ▼
最大可测周期 = 最大分频器 × 最大计数 ÷ 时钟。例如STM32 16位定时器+72MHz约59.65秒,SysTick(24位、÷8)+72MHz约1.86秒是上限。超过此周期无法通过单次溢出实现,需要配合软件计数器或级联定时器。本工具在候选表上方显示最长/最短周期。
STM32的PSC+1·ARR+1与AVR/SysTick有什么区别? ▼
STM32的分频器和计数器都按"寄存器值+1"分频(PSC+1·ARR+1)。AVR的分频器为{1,8,64,256,1024}的离散选择,周期为TOP+1。SysTick没有分频器(÷8是时钟源CLKSOURCE的选择),是24位倒计数器,周期为(RELOAD+1)÷时钟。本工具通过预设参数(offset·宽度·离散集合)来处理这些差异。