同一个定时器实现5ms和50ms的定时可以吗?

[复制链接]
 楼主| huanghuac 发表于 2013-3-17 13:43 | 显示全部楼层 |阅读模式
同一个定时器实现5ms和50ms的定时可以吗?
happy_10 发表于 2013-3-17 13:45 | 显示全部楼层
可以啊,50ms不就相当于10个5ms吗
 楼主| huanghuac 发表于 2013-3-17 13:49 | 显示全部楼层
这个……怎么解释……
wenfen 发表于 2013-3-17 13:51 | 显示全部楼层
假设定时器的溢出时间是5ms,用一个变量计数10次不就是50ms吗
冰清玉洁 发表于 2013-3-17 13:54 | 显示全部楼层
每次设置5ms标志的时候,再对一组寄存器加1操作,等这组寄存器计数到10了,0.1S就到了,设置50ms
标志
 楼主| huanghuac 发表于 2013-3-17 13:57 | 显示全部楼层
这两个退出中断不在一个时间啊
zhuhuis 发表于 2013-3-17 13:59 | 显示全部楼层
这个没关系
宋倩2010 发表于 2013-3-17 14:03 | 显示全部楼层
在主程序中通过判断标志位即可,跟中断什么时候退出没有任何关系。
tian111 发表于 2013-3-17 14:21 | 显示全部楼层
我也想知道
宋倩2010 发表于 2013-3-17 15:13 | 显示全部楼层
定时中断里只是将时间的标志位置起,而主程序中判断这些标志位进行操作
luofeng2g 发表于 2013-3-17 21:25 | 显示全部楼层
关键看你做什么。。。我觉得同时定时是不现实的。
chenho 发表于 2013-3-17 22:07 | 显示全部楼层
对,只用一个中断的话,你就将中断的时间定为需要的最小的那个计时时间,如5MS,这样每中断一次在定时中断中将5MS的标志置好,同时假设还有一个50MS的计时需要那就在定时中断程序中置好5MS定时标志后再利用2个寄存器,对这2个寄存器每次加1,再判断它是否等于10,如果等于10了,则置起50MS标志

评论

没错,若要特别准确,则可以配合示波器调整一下~  发表于 2013-3-18 10:05
gongche 发表于 2013-3-17 22:10 | 显示全部楼层
这个可能要试验的时候稍微改下就精确了
冰清玉洁 发表于 2013-3-17 22:22 | 显示全部楼层
理论上可以做无数个
wenfen 发表于 2013-3-17 22:27 | 显示全部楼层
要求不高在定时器中设定标志位,要求严格时用OS;
 楼主| huanghuac 发表于 2013-3-17 22:32 | 显示全部楼层
哦,明白了,先结贴了
 楼主| huanghuac 发表于 2013-3-17 22:34 | 显示全部楼层
多谢各位了
xiaox314 发表于 2013-3-17 23:04 | 显示全部楼层
四楼正解!
明月小厨 发表于 2013-3-18 05:32 | 显示全部楼层
围观一下,不是问题的问题;问题本身就是个问题;
如:同步异步问题,
如:精度问题,
我叫mt 发表于 2013-3-18 09:28 | 显示全部楼层
拿积分,下东西
您需要登录后才可以回帖 登录 | 注册

本版积分规则

772

主题

8473

帖子

6

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