单片机(STM32)内部RC振荡器误差时间到底有多少

此例以STM32单片机为例来进行分析. 定时器每1ms的上下误差是多少us

先看数据表给出的误差值
在这里插入图片描述可以看出 此单片机内部的高速RC振荡器的标准频率是16Mhz.
在标称电压不考虑温漂的情况下 误差上下 不超过 1% 即 15.88MHz — 16.08MHz
而考虑温漂(负温漂)就会高达到2% 即 16*0.02 = 0.32Mhz 即 15.68MHz — 16.32MHz

那我们就以最大的误差 2%(15.68MHz — 16.32MHz) 来分析 1ms的定时器 误差会有多少us?

分析之前,我们要先知道当前 单片机定时器的一个计数 需要消耗的周期 是 时钟周期 还是机器周期 还是指令周期

通常 定时器的 计数周期为 时钟周期 即主频, 以下以时钟周期为例进行分析

我们假设单片机进行16分频 此时的误差频率为 (0.98MHz — 1.02MHz)
此时计时 1S 需要进行 980000 ---- 1020000 次的 节拍计数
计时 1ms 需要进行 980 — 1020 次的 节拍计数
而1ms = 1000us

所以 定时1ms的误差 时间为 ±20us 1s的误差为±20ms

在分析完之后,其实我们 也可以 以更快的方式得到结果 那就是 1000*2% = 20us

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值