打印
[其它应用]

一个定时器能这么实现吗

[复制链接]
1300|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huanghuac|  楼主 | 2014-3-24 21:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
同一个定时器实现5ms和50ms的定时可以吗?
沙发
happy_10| | 2014-3-24 21:31 | 只看该作者
可以啊,50ms不就相当于10个5ms吗

使用特权

评论回复
板凳
huanghuac|  楼主 | 2014-3-24 21:33 | 只看该作者
这个……怎么解释……

使用特权

评论回复
地板
wenfen| | 2014-3-24 21:34 | 只看该作者
假设定时器的溢出时间是5ms,用一个变量计数10次不就是50ms吗

使用特权

评论回复
5
冰清玉洁| | 2014-3-24 21:35 | 只看该作者
每次设置5ms标志的时候,再对一组寄存器加1操作,等这组寄存器计数到10了,0.1S就到了,设置50ms
标志

使用特权

评论回复
6
huanghuac|  楼主 | 2014-3-24 21:36 | 只看该作者
这两个退出中断不在一个时间啊

使用特权

评论回复
7
zhuhuis| | 2014-3-24 21:37 | 只看该作者
这个没关系

使用特权

评论回复
8
宋倩2010| | 2014-3-24 21:39 | 只看该作者
在主程序中通过判断标志位即可,跟中断什么时候退出没有任何关系。

使用特权

评论回复
9
tian111| | 2014-3-24 21:40 | 只看该作者
我也想知道

使用特权

评论回复
10
宋倩2010| | 2014-3-24 21:42 | 只看该作者
定时中断里只是将时间的标志位置起,而主程序中判断这些标志位进行操作

使用特权

评论回复
11
chenho| | 2014-3-24 21:43 | 只看该作者
关键看你做什么。。。我觉得同时定时是不现实的。

使用特权

评论回复
12
chenho| | 2014-3-24 21:44 | 只看该作者
对,只用一个中断的话,你就将中断的时间定为需要的最小的那个计时时间,如5MS,这样每中断一次在定时中断中将5MS的标志置好,同时假设还有一个50MS的计时需要那就在定时中断程序中置好5MS定时标志后再利用2个寄存器,对这2个寄存器每次加1,再判断它是否等于10,如果等于10了,则置起50MS标志

使用特权

评论回复
13
gongche| | 2014-3-24 21:45 | 只看该作者
这个可能要试验的时候稍微改下就精确了

使用特权

评论回复
14
冰清玉洁| | 2014-3-24 21:47 | 只看该作者
理论上可以做无数个

使用特权

评论回复
15
wenfen| | 2014-3-24 21:48 | 只看该作者
要求不高在定时器中设定标志位,要求严格时用OS;

使用特权

评论回复
16
huwr| | 2014-3-24 21:49 | 只看该作者
围观一下,不是问题的问题;问题本身就是个问题;
如:同步异步问题,
如:精度问题,

使用特权

评论回复
17
huanghuac|  楼主 | 2014-3-24 21:51 | 只看该作者
哦,明白了,先结贴了

使用特权

评论回复
18
mcu5i51| | 2014-3-25 09:06 | 只看该作者
精度不高的话可以,精度高的话需要单独使用,并尽量错开启动时间,避免中断重合

使用特权

评论回复
19
amd1217| | 2014-3-25 21:02 | 只看该作者
围观,看高手分享秘诀

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

772

主题

8473

帖子

6

粉丝