一个定时器实现5ms和50ms的定时

[复制链接]
2468|18
 楼主| zhuhuis 发表于 2013-2-21 22:35 | 显示全部楼层 |阅读模式
同一个定时器实现5ms和50ms的定时吗?
tian111 发表于 2013-2-21 22:37 | 显示全部楼层
可以啊,50ms不就相当于10个5ms吗
 楼主| zhuhuis 发表于 2013-2-21 22:38 | 显示全部楼层
这个……怎么解释……
chenho 发表于 2013-2-21 22:40 | 显示全部楼层
假设定时器的溢出时间是5ms,用一个变量计数10次不就是50ms吗

评分

参与人数 1威望 +1 收起 理由
icecut + 1

查看全部评分

gongche 发表于 2013-2-21 22:41 | 显示全部楼层
每次设置5ms标志的时候,再对一组寄存器加1操作,等这组寄存器计数到10了,0.1S就到了,设置50ms
标志
 楼主| zhuhuis 发表于 2013-2-21 22:42 | 显示全部楼层
这两个退出中断不在一个时间啊
宋倩2010 发表于 2013-2-21 22:45 | 显示全部楼层
这个没关系
huanghuac 发表于 2013-2-21 22:47 | 显示全部楼层
在主程序中通过判断标志位即可,跟中断什么时候退出没有任何关系。
冰清玉洁 发表于 2013-2-21 22:49 | 显示全部楼层
定时中断里只是将时间的标志位置起,而主程序中判断这些标志位进行操作
wenfen 发表于 2013-2-21 22:51 | 显示全部楼层
对,只用一个中断的话,你就将中断的时间定为需要的最小的那个计时时间,如5MS,这样每中断一次在定时中断中将5MS的标志置好,同时假设还有一个50MS的计时需要那就在定时中断程序中置好5MS定时标志后再利用2个寄存器,对这2个寄存器每次加1,再判断它是否等于10,如果等于10了,则置起50MS标志
宋倩2010 发表于 2013-2-21 22:52 | 显示全部楼层
这个可能要试验的时候稍微改下就精确了
tian111 发表于 2013-2-21 22:54 | 显示全部楼层
理论上可以做无数个
gongche 发表于 2013-2-21 22:55 | 显示全部楼层
要求不高在定时器中设定标志位,要求严格时用OS;
huwr 发表于 2013-2-21 22:57 | 显示全部楼层
OS 是啥呀
wenfen 发表于 2013-2-21 22:59 | 显示全部楼层
不明白。。。
 楼主| zhuhuis 发表于 2013-2-21 23:00 | 显示全部楼层
我懂了,多谢各位啦
yueliangruying 发表于 2013-2-22 13:31 | 显示全部楼层
本帖最后由 yueliangruying 于 2013-2-22 13:32 编辑
huwr 发表于 2013-2-21 22:57
OS 是啥呀

Operating System
Edison11 发表于 2013-2-22 14:05 | 显示全部楼层
用一个寄存器计数啊,5ms记一次,10次就是50ms
您需要登录后才可以回帖 登录 | 注册

本版积分规则

728

主题

8464

帖子

6

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