晶振的理解:
9M晶振就是1秒可以振动9 * 106次,所以每一次振动的时间为1/9 * 106秒
要计算1ms,就振动9 * 103次,就是9000次
要计算1us,就振动9 * 100次,就是9次

这样一来,对于常用的STM32F103ZET6芯片72MHz的时钟,就能照葫芦画瓢知道定时时间
72MHz = 72 * 106 Hz, 即晶振振动 72 * 106 次就计时1s
72 * 103,即晶振振动72 * 103次就定时1ms
72* 100,即晶振振动72次就定时1us
定时时间的计算
这些晶振振动次数与时间的关系对使用定时器定时想要的时间特别有帮助
TIM3_Int_Init(4999,7199);//10Khz的计数频率,计数到5000为500ms
如这里的定时器3初始化,参数1是重装载值arr,参数2是时钟分频系数psc
psc = 7199,7199+1 = 7200,就表示晶振振动7200次,已经知道72 * 103 次是1ms,那7200次就是定时0.1ms,而0.1ms = 0.0001s,时间的倒数就是频率,所以1/0.0001s = 10000 = 10khz
既然知道经过分频后定时为0.1ms,所以重装载值arr+1 = 4999+1 = 5000,5000 * 0.1ms = 500ms
本文详细介绍了9M晶振的工作原理,以及如何利用STM32F103ZET6芯片的72MHz时钟进行定时计算。通过举例解释了定时器TIM3的初始化设置,如何通过重装载值和时钟分频系数来实现特定时间的定时。内容涵盖了晶振振动次数与时间的关系,以及在实际编程中如何运用这些知识来配置定时器达到预期的定时效果。
491

被折叠的 条评论
为什么被折叠?



