使用TIMx进行通用定时,要求定时器每50ms产生一次中断。该如何配置自动重装载寄存 器ARR和预分频系数PSC的取值?假定TIMxCLK为72MHz。
时间: 2024-06-05 08:10:44 浏览: 147
自动装载寄存器TIMx_ARR-STM32定时器
要求定时器每50ms产生一次中断,那么我们可以先计算出每秒需要产生的中断次数:
1s = 1000ms
50ms/次 = 1/20s/次
每秒需要产生的中断次数 = 1/(1/20) = 20次/s
然后根据定时器的时钟频率和预分频系数可以计算出定时器的时钟周期:
定时器时钟周期 = 定时器时钟频率 / 预分频系数
在本题中,定时器时钟频率为72MHz,所以:
定时器时钟周期 = 72MHz / 预分频系数
由于要求定时器每50ms产生一次中断,所以中断周期为1/20s,即20次/s。因此,我们需要将定时器的自动重装载寄存器ARR和预分频系数PSC设置为:
ARR = 定时器时钟周期 / 中断周期 - 1 = (72MHz / 预分频系数) / 20 - 1
PSC = 预分频系数 - 1
根据上述公式,我们可以得出以下几组符合要求的自动重装载寄存器ARR和预分频系数PSC的取值:
- PSC = 3599, ARR = 1999
- PSC = 7199, ARR = 999
- PSC = 14399, ARR = 499
需要注意的是,ARR和PSC的取值应该越小越好,以尽可能地减少定时器的占用时间。同时,根据具体的硬件平台和实际需求进行调整。
阅读全文