OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1818|回复: 8

关于定时器和中断

[复制链接]

21

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
384
金钱
384
注册时间
2023-7-23
在线时间
89 小时
发表于 2023-12-7 12:44:43 来自手机 | 显示全部楼层 |阅读模式
假设这样一种场景:0.01秒定时器中断一次,然后计算time+1,经过多次累计下来,time对时间会不会有误差?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

28

主题

360

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1028
金钱
1028
注册时间
2021-2-4
在线时间
146 小时
发表于 2023-12-7 13:39:38 | 显示全部楼层
会的 中断有优先级 干扰来干扰去 次次差个几纳秒
时间长了肯定会有误差
回复 支持 反对

使用道具 举报

21

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
384
金钱
384
注册时间
2023-7-23
在线时间
89 小时
 楼主| 发表于 2023-12-7 13:52:57 来自手机 | 显示全部楼层
电子控2021 发表于 2023-12-7 13:39
会的 中断有优先级 干扰来干扰去 次次差个几纳秒
时间长了肯定会有误差

那我想要有个跨度大约3秒到0.01秒,精度1微秒的计时方式要怎么做好?
回复 支持 反对

使用道具 举报

28

主题

360

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1028
金钱
1028
注册时间
2021-2-4
在线时间
146 小时
发表于 2023-12-7 14:35:20 | 显示全部楼层
安打 发表于 2023-12-7 13:52
那我想要有个跨度大约3秒到0.01秒,精度1微秒的计时方式要怎么做好?

时间一般用RTC 32.768hz的晶振
但是你这个精度要求这么高我是没做过
回复 支持 反对

使用道具 举报

21

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
384
金钱
384
注册时间
2023-7-23
在线时间
89 小时
 楼主| 发表于 2023-12-7 16:53:00 | 显示全部楼层
电子控2021 发表于 2023-12-7 14:35
时间一般用RTC 32.768hz的晶振
但是你这个精度要求这么高我是没做过

我算错了应该是0.03到0.001秒,精度还是1微秒
回复 支持 反对

使用道具 举报

21

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
384
金钱
384
注册时间
2023-7-23
在线时间
89 小时
 楼主| 发表于 2023-12-7 19:23:09 | 显示全部楼层
电子控2021 发表于 2023-12-7 14:35
时间一般用RTC 32.768hz的晶振
但是你这个精度要求这么高我是没做过

不知道这样行不行?

先把定时器arr在7200,psc在100,计算出第一次的时间t1
然后根据这个时间,第二次测量,在时间等于0.9t1,重新设定定时器arr在7200,psc在10.计算出第二次t2.
然后第三次测量,在时间等于0.9(0.9t1+t2),重新设定定时器arr在720,psc在10.计算出t3,以此类推直到精度在1微秒,就是不知道几次调用初始化函数的时间会不会太久导致精度不足。
回复 支持 反对

使用道具 举报

70

主题

6756

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12979
金钱
12979
注册时间
2012-11-26
在线时间
3786 小时
发表于 2023-12-7 20:18:57 | 显示全部楼层
晶振本身都存在误差   你这1us   估计不得行
学无止境
回复 支持 反对

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8462
金钱
8462
注册时间
2020-5-11
在线时间
3904 小时
发表于 2023-12-7 21:18:22 | 显示全部楼层
我的个人理解,不知是否准确:
如果不考虑晶振误差、且不会有太大延迟的情况,定时中断是不会有累积误差的,因为中断标志是定期产生,只是进入中断会有延迟,比如不能打断当前指令周期、有高优先级中断正在运行。
比如靠人去计时,钟表每秒响一声,你每听到一次声音就去计一个数,虽然有时反应慢一点,但不会累积。
专治疑难杂症
回复 支持 反对

使用道具 举报

21

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
384
金钱
384
注册时间
2023-7-23
在线时间
89 小时
 楼主| 发表于 2023-12-7 21:46:44 | 显示全部楼层
jermy_z 发表于 2023-12-7 20:18
晶振本身都存在误差   你这1us   估计不得行

原来如此,被你这样一提醒醍醐灌顶
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 09:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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