你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于STM32F411XE的TIM2定时器定时微秒(us)的来瞧瞧啊~~

[复制链接]
冯兆亮 提问时间:2018-3-20 13:48 /
关于STM32F411XE的TIM2定时器定时微秒的来瞧瞧啊~~

我用TIM2定时器,定时了微秒级别,这时候,我还写了个定时器中断,在这个中断里面进行减减一个全局变量,而后,在延时函数里面进行while死等的判断这个全局变量,直到为0,则延时完成。本来这么想的,应该是对的,可是后来发现这样要是一直循环里面有延时的时候,程序就一直会在这个TIM2的中断函数里面执行,影响其他事情,问题有二(最好按标号答):
1.不知道大家都在微秒延时方面怎么做的?最好是在STM32F4系列,因为这个系列里100MHz以上的多。
2.针对题目中的定时器做微秒延时,要不要开中断处理函数,然后还用while去减减的等?有什么好方法?
感谢来本帖的侠义之士的好心帮助,感激不尽,感激不尽,感激,不尽,不尽···········

收藏 评论8 发布时间:2018-3-20 13:48

举报

8个回答
wenyangzeng 回答时间:2018-3-20 14:07:52
本帖最后由 wenyangzeng 于 2018-3-20 14:29 编辑

中断里来1个while确实不合理。变量减到零设置一个标志位就够了

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

冯兆亮 回答时间:2018-3-20 15:11:00
wenyangzeng 发表于 2018-3-20 14:07
中断里来1个while确实不合理。变量减到零设置一个标志位就够了

感谢回复!我说的是我有个中断函数,这个中断函数里面只是在减减一个全局变量,然后外面还有一个延时函数,这个延时函数一旦调用,里面内容是在用while等待中断函数里面减减的那个全局变量,看是不是减到0 了。
wenyangzeng 回答时间:2018-3-20 15:25:47
liangliangwa 发表于 2018-3-20 15:11
感谢回复!我说的是我有个中断函数,这个中断函数里面只是在减减一个全局变量,然后外面还有一个延时函数 ...

明白了,那你应该在中断里设置一个条件,变量减到零就不再减了,否则会出0xffff。
冯兆亮 回答时间:2018-3-21 09:24:45
wenyangzeng 发表于 2018-3-20 15:25
明白了,那你应该在中断里设置一个条件,变量减到零就不再减了,否则会出0xffff。 ...

感谢回复!这点还真没有想到,那如果是出现0xFFFF之后,就会继续减下去?不停止的等待?
wenyangzeng 回答时间:2018-3-21 09:52:38
liangliangwa 发表于 2018-3-21 09:24
感谢回复!这点还真没有想到,那如果是出现0xFFFF之后,就会继续减下去?不停止的等待? ...

无限循环
冯兆亮 回答时间:2018-3-22 09:45:05

感谢回复!好的,知道了。
STM1024 回答时间:2018-3-22 09:54:29
你为什么不直接把while中检测到的值为0之后要处理的事情,直接放到中断中去执行呢?
就在中断中直接判断这个全局变量是否为0就行

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

冯兆亮 回答时间:2018-3-22 11:24:19
stm1024 发表于 2018-3-22 09:54
你为什么不直接把while中检测到的值为0之后要处理的事情,直接放到中断中去执行呢?
就在中断中直接判断这 ...

感谢回复!有道理~哈哈·····
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版