例如普通定时器模块的时钟为72 MHz分频比PSC为7199那么我们想要得到一个1秒钟的定时定时计数器ARR的值需要设定为TIMX_ARR=详细过程解释为什么要减一
定时器模块的工作原理是通过计数器来实现定时功能,计数器的计数范围是从0到自定义的值,当计数器计数到自定义值时,就会触发定时器中断或者触发某个特定的事件。
在本题中,我们需要得到一个1秒钟的定时,因此我们需要计算出定时器的计数器需要计数到多少才能达到1秒钟。计算公式如下:
定时器计数器需要计数的值 = 定时器时钟频率 / 分频比 - 1
根据题目中的数据,定时器的时钟为72 MHz,分频比为7199,代入计算公式得:
定时器计数器需要计数的值 = 72000000 / 7200 - 1 = 9999
因为计数器的计数范围是从0到自定义的值,所以在计算定时器计数器需要计数的值时,需要将结果减1,即:
TIMX_ARR = 9999 - 1 = 9998
因此,定时器计数器的值设定为9998时,定时器可以实现1秒钟的定时功能。
原文地址: https://www.cveoy.top/t/topic/dvoq 著作权归作者所有。请勿转载和采集!