关于STM32F411XE的TIM2定时器定时微秒的来瞧瞧啊~~ 我用TIM2定时器,定时了微秒级别,这时候,我还写了个定时器中断,在这个中断里面进行减减一个全局变量,而后,在延时函数里面进行while死等的判断这个全局变量,直到为0,则延时完成。本来这么想的,应该是对的,可是后来发现这样要是一直循环里面有延时的时候,程序就一直会在这个TIM2的中断函数里面执行,影响其他事情,问题有二(最好按标号答): 1.不知道大家都在微秒延时方面怎么做的?最好是在STM32F4系列,因为这个系列里100MHz以上的多。 2.针对题目中的定时器做微秒延时,要不要开中断处理函数,然后还用while去减减的等?有什么好方法? 感谢来本帖的侠义之士的好心帮助,感激不尽,感激不尽,感激,不尽,不尽··········· |
中断里来1个while确实不合理。变量减到零设置一个标志位就够了
评分
查看全部评分
感谢回复!我说的是我有个中断函数,这个中断函数里面只是在减减一个全局变量,然后外面还有一个延时函数,这个延时函数一旦调用,里面内容是在用while等待中断函数里面减减的那个全局变量,看是不是减到0 了。
明白了,那你应该在中断里设置一个条件,变量减到零就不再减了,否则会出0xffff。
感谢回复!这点还真没有想到,那如果是出现0xFFFF之后,就会继续减下去?不停止的等待?
无限循环
感谢回复!好的,知道了。
就在中断中直接判断这个全局变量是否为0就行
评分
查看全部评分
感谢回复!有道理~哈哈·····