OpenEdv-开源电子网

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

请问一下原子哥,不用OS的延时函数在判断时间到没,为什么不直接用当前数值计数器?

[复制链接]

106

主题

418

帖子

0

精华

高级会员

Rank: 4

积分
764
金钱
764
注册时间
2016-7-26
在线时间
123 小时
发表于 2016-9-11 20:42:03 | 显示全部楼层 |阅读模式
5金钱
C)_X{[(K]7E4IW4N33F4$[J.png
请问一下原子哥,不用OS的延时函数在判断时间到没,为什么不直接用当前数值计数器,直接判断是否为0?
用标志寄存器有什么好处吗?

最佳答案

查看完整内容[请看2#楼]

除非关中断,不然会错过。 即使关中断,也要保证CPU速度比timer速度快几倍才靠谱,如果SYSTICK时钟不分频,与CPU一样的话就可能丢,因为CPU读取再判断一条指令搞不定。 而flag除非被人清掉,不然是不会丢失的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

1044

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3720
金钱
3720
注册时间
2011-5-23
在线时间
2012 小时
发表于 2016-9-11 20:42:04 | 显示全部楼层
除非关中断,不然会错过。

即使关中断,也要保证CPU速度比timer速度快几倍才靠谱,如果SYSTICK时钟不分频,与CPU一样的话就可能丢,因为CPU读取再判断一条指令搞不定。

而flag除非被人清掉,不然是不会丢失的。
RT-Thread RTOS 音频,WIFI,蓝牙
回复

使用道具 举报

106

主题

418

帖子

0

精华

高级会员

Rank: 4

积分
764
金钱
764
注册时间
2016-7-26
在线时间
123 小时
 楼主| 发表于 2016-9-11 22:19:36 | 显示全部楼层
aozima 发表于 2016-9-11 21:19
除非关中断,不然会错过。

即使关中断,也要保证CPU速度比timer速度快几倍才靠谱,如果SYSTICK时钟不分 ...

你的意思是:会错过?
回复

使用道具 举报

106

主题

418

帖子

0

精华

高级会员

Rank: 4

积分
764
金钱
764
注册时间
2016-7-26
在线时间
123 小时
 楼主| 发表于 2016-9-11 22:24:51 | 显示全部楼层
aozima 发表于 2016-9-11 20:42
除非关中断,不然会错过。

即使关中断,也要保证CPU速度比timer速度快几倍才靠谱,如果SYSTICK时钟不分 ...

请允许我再问一下,一个定时器(这个定时器可以产生中断)减到0了就可以产生中断,还是要看中断标志位被置位了才可以产生中断?
回复

使用道具 举报

11

主题

1044

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3720
金钱
3720
注册时间
2011-5-23
在线时间
2012 小时
发表于 2016-9-12 09:32:01 | 显示全部楼层
如果你是做FPGA设计的,
必然是先更新count,
然后根据中断条件判断是否有中断(这里的然后,实际在硬件上可以认为是同时发生的,但硬件连接上有先后顺序,时间差应该是ps级)
中断flag信号同时连接到CPU的中断请求处。
RT-Thread RTOS 音频,WIFI,蓝牙
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 13:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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