关于STM32F411XE的TIM2定时器定时微秒的来瞧瞧啊~~ 我用TIM2定时器,定时了微秒级别,这时候,我还写了个定时器中断,在这个中断里面进行减减一个全局变量,而后,在延时函数里面进行while死等的判断这个全局变量,直到为0,则延时完成。本来这么想的,应该是对的,可是后来发现这样要是一直循环里面有延时的时候,程序就一直会在这个TIM2的中断函数里面执行,影响其他事情,问题有二(最好按标号答): 1.不知道大家都在微秒延时方面怎么做的?最好是在STM32F4系列,因为这个系列里100MHz以上的多。 2.针对题目中的定时器做微秒延时,要不要开中断处理函数,然后还用while去减减的等?有什么好方法? 感谢来本帖的侠义之士的好心帮助,感激不尽,感激不尽,感激,不尽,不尽··········· |
STM32是否支持CCP协议,能否用INCA/ CANape 进行调试和标定
为什么我的stm32cubemx里高级定时器只能配置输出比较的互补输出,而不能直接配置PWM互补输出?
高主频情况下进入会硬件错误
NUCLEO-F411RE板串口通讯问题
高主频情况下程序运行进入HardFault_Handler
stm32的fsmc总线上同时挂载LCD屏和SRAM需要怎么设置
STM32F407 USB的IN端点只能是0x81么?
STM32F407输出方波最高频率
mdk5添加头文件路径检索不出来文件
STM32F407使用DMA读取FSMC数据问题
中断里来1个while确实不合理。变量减到零设置一个标志位就够了
评分
查看全部评分
感谢回复!我说的是我有个中断函数,这个中断函数里面只是在减减一个全局变量,然后外面还有一个延时函数,这个延时函数一旦调用,里面内容是在用while等待中断函数里面减减的那个全局变量,看是不是减到0 了。
明白了,那你应该在中断里设置一个条件,变量减到零就不再减了,否则会出0xffff。
感谢回复!这点还真没有想到,那如果是出现0xFFFF之后,就会继续减下去?不停止的等待?
无限循环
感谢回复!好的,知道了。
就在中断中直接判断这个全局变量是否为0就行
评分
查看全部评分
感谢回复!有道理~哈哈·····