zhuhuis 发表于 2022-7-7 21:33

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

同一个定时器实现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

嗯,我再好好缕一缕吧,有了好消息及时通知大家
页: [1] 2
查看完整版本: 同一个定时器实现5ms和50ms的定时吗?