[疑难问答] MA82G5Bx定时器0可以设置到微秒级别么

[复制链接]
3100|2
手机看帖
扫描二维码
随时随地手机跟帖
veryxs|  楼主 | 2021-10-11 22:27 | 显示全部楼层 |阅读模式
24M晶振,设置定时器0模式1,装填初值是TH0 = 0xFC;TL0 = 0x18;定时周期1ms还是比较准确的。想要进一步设置定时器为1微秒,应该只需要把初值设置成TH0 = 0xFF;TL0 = 0xFF;,一次就溢出,会变得不准确,手头没有示波器,请教下大家怎么设置的,能贴部分代码就更好了

使用特权

评论回复
lyjian| | 2021-10-11 23:48 | 显示全部楼层
本帖最后由 lyjian 于 2021-10-11 23:50 编辑

24MHz晶振,按12T计数模式,计算周期是0.5uS,按1T计算模式计数周期是1/24uS。
所以你的设置不会得到你所需的定时时间。
对定时器本身来说,不管1mS还是1uS都会是精确的。
不准确是因为软件进中断及重装数据需要时间,而且可能1uS之内不一定能跑完所有指令。
要短时间精确的话,定时器用模式2,且软件保证中断(或查询)处理时间一样。

使用特权

评论回复
sadicy| | 2021-11-11 13:18 | 显示全部楼层
这是多高的精度,要定1us,

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则