普通定时器如何关闭,如何再开启。

2019-10-15 03:59发布

情况是这样的,准备在定时器里面进行AD采集,采集到足够的数据后,关闭定时器,然后在主程序里面重新开启定时器,
关闭用的TIM_Cmd(TIM4, DISABLE);
开启用的TIM_Cmd(TIM4, ENABLE);  

现在的情形是能关闭,但是重新开启不了,不知道是不是还要设置其他的东西,我看了关于坛里定时器的帖子,但没看到相关的,希望大家指点一二。谢谢。




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-10-15 04:14
 精彩回答 2  元偷偷看……
传说中的松哥
2楼-- · 2019-10-15 05:57
回复【2楼】正点原子:
---------------------------------
恩,这个可以,弄好了,我在TIM4里面以20KHZ进行AD转换,不开TIM2,完全没有问题,一旦开启TIM2,程序跑着跑着就飞了。不知道为什么。
TIM2 抢占优先级:1,子优先级:2
TIM4抢占优先级:0,子优先级:0
正点原子
3楼-- · 2019-10-15 06:39
看你TIM2里面干了什么了,呵呵.
Thaojer
4楼-- · 2019-10-15 07:23
正点原子 发表于 2013-7-27 10:23
回复【楼主位】传说中的松哥:
---------------------------------
这样可以的哦,可以开启和关闭才对哦.
你 ...

请问原子哥,定时器开启后,开始计数时,当我们人为关闭,比如:
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
TIM_Cmd(TIM3, DISABLE);
这两行代码可以关闭定时器,但是不是无法结束当前计数,本次计数还是会继续执行?中断还是会继续最后一次中断?

一周热门 更多>