野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10720|回复: 4

【求解】关于利用SysTick输出毫秒的问题

[复制链接]
发表于 2020-4-16 17:57:32 | 显示全部楼层 |阅读模式
想实现 实时时间的精度到ms,
在程序中用了SysTick定时器每1ms中断一次,Delay设为1s,每次中断就会在屏幕上打印毫秒值,在Delay完成后会在屏幕上打印秒值
最后与RTC产生的秒做对比,反正每隔10s左右就会产生1s的误差
求解,程序截图如下:


main.PNG
rtc.PNG
systick.PNG
回复

使用道具 举报

发表于 2020-4-16 21:09:36 | 显示全部楼层
如果毫秒值是在中断里打印的话,我感觉是中断的影响,systick每个ms都有中断,而RTC不会受中断影响
回复 支持 反对

使用道具 举报

发表于 2020-4-16 21:14:01 | 显示全部楼层
表现是RTC不准还是系统定时器不准
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 08:44:38 | 显示全部楼层
本帖最后由 heermu 于 2020-4-17 08:50 编辑
WishWish 发表于 2020-4-16 21:14
表现是RTC不准还是系统定时器不准

系统定时器不准,慢一秒
RTC每十秒左右会跳过一秒,比如第9秒之后应该是第10秒,但是直接跳到第11秒了,不过RTC是准的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 08:49:37 | 显示全部楼层
瞎眼灯 发表于 2020-4-16 21:09
如果毫秒值是在中断里打印的话,我感觉是中断的影响,systick每个ms都有中断,而RTC不会受中断影响

感觉好像是打印的原因造成的误差,如果RTC不打印,中断里也不打印就,在主函数里系统定时器每秒打印一次就是准的,关键是我要输出毫秒和RTC就不知道该怎么办了
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-7 04:24 , Processed in 0.026930 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表