[其它应用] 同一个定时器实现5ms和50ms的定时吗?

[复制链接]
1784|25
 楼主| zhuhuis 发表于 2022-7-7 21:33 | 显示全部楼层 |阅读模式
同一个定时器实现5ms和50ms的定时吗?
jiajs 发表于 2022-7-7 21:35 | 显示全部楼层
可以啊,50ms不就相当于10个5ms吗
 楼主| zhuhuis 发表于 2022-7-7 21:39 | 显示全部楼层

这个……怎么解释……
chenjunt 发表于 2022-7-7 21:42 | 显示全部楼层
假设定时器的溢出时间是5ms,用一个变量计数10次不就是50ms吗
chenjunt 发表于 2022-7-7 21:46 | 显示全部楼层
每次设置5ms标志的时候,再对一组寄存器加1操作,等这组寄存器计数到10了,0.1S就到了,设置50ms
 楼主| zhuhuis 发表于 2022-7-7 21:48 | 显示全部楼层
这两个退出中断不在一个时间啊
renyaq 发表于 2022-7-7 21:50 | 显示全部楼层
这个没关系
heweibig 发表于 2022-7-7 21:53 | 显示全部楼层
在主程序中通过判断标志位即可,跟中断什么时候退出没有任何关系。
wuhany 发表于 2022-7-7 21:53 | 显示全部楼层
具体如何操作需要参考编译器的链接器一章节。
yszong 发表于 2022-7-7 21:55 | 显示全部楼层
定时中断里只是将时间的标志位置起,而主程序中判断这些标志位进行操作
jiahy 发表于 2022-7-7 21:58 | 显示全部楼层
对,只用一个中断的话,你就将中断的时间定为需要的最小的那个计时时间,如5MS,这样每中断一次在定时中断中将5MS的标志置好,同时假设还有一个50MS的计时需要那就在定时中断程序中置好5MS定时标志后再利用2个寄存器,对这2个寄存器每次加1,再判断它是否等于10,如果等于10了,则置起50MS标志
zwll 发表于 2022-7-8 20:45 | 显示全部楼层
这个可能要试验的时候稍微改下就精确了
pengf 发表于 2022-7-8 20:50 | 显示全部楼层

嗯,理论上可以做无数个
dengdc 发表于 2022-7-8 20:52 | 显示全部楼层

要求不高在定时器中设定标志位,要求严格时用OS;
zhenykun 发表于 2022-7-8 20:54 | 显示全部楼层
OS 是啥呀
juventus9554 发表于 2022-7-8 20:56 | 显示全部楼层
不明白。。。
dengdc 发表于 2022-7-8 20:58 | 显示全部楼层
Operating System
jlyuan 发表于 2022-7-8 21:00 | 显示全部楼层
用一个寄存器计数啊,5ms记一次,10次就是50ms
spark周 发表于 2022-7-8 21:02 | 显示全部楼层
这种地方用OS,是脱裤子放屁;
 楼主| zhuhuis 发表于 2022-7-8 21:04 | 显示全部楼层
嗯,我再好好缕一缕吧,有了好消息及时通知大家
您需要登录后才可以回帖 登录 | 注册

本版积分规则

728

主题

8464

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部