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

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

[复制链接]
liangliangwa 提问时间: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

查看全部评分

liangliangwa 回答时间: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。
liangliangwa 回答时间: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之后,就会继续减下去?不停止的等待? ...

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

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

评分

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

查看全部评分

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

感谢回复!有道理~哈哈·····

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版