嵌入式 STM32 定时器知识点

机械周期:单片机完成一个操作的最短时间。机械周期主要针对汇编语言,在汇编语言下程序每一条执行所使用时间都是机械周期的整数倍。51标准架构下,一个机械周期是12个时钟周期,12M晶振下等于12*1/12000000秒。

51这么设计是历史的原因(毕竟它已经是30年前的老古董了),所以有机器周期和时钟周期的区别。而STM32则没有这个概念,机器周期就是时钟周期。需要注意的是,最新型号的51已经不遵守“12机器周期等于1时钟周期”这个规则了,STC的新型号51早就做到了1机器周期等于1时钟周期。从这点来说已经跟STM32已经是一样的了。

时钟周期:时钟周期T是时序中的最小时间单位,具体计算的方法就是1/时钟频率。
假如晶振频率为168M,则时钟周期=1/168000000秒

时间(重载值)计算举例

时钟源168M
根据实际需要进行8分频后得到频率为
21M/s (单位是s)

即定时器计数一次的时间为 1s/21M

也就是
1X10^6 / 21X10^6=1/21 us(单位是us)

所以定时器数21次才等于1us的时间。

因为我们要想得到time us的时间所以我们的定时器要数21*time次,则我们的重载值(即设定定时器定时时间的最大值)应该为
time us = time * 21

因为定时器是从0开始算起的,每数1us都要-1所以
重载值 = time * 20

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ou.cs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值