本文主要是介绍MCU中断里使用软延时函数delay_ms(u16 x)问题探讨:,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
中断里使用延时函数delay_ms(u16 x)问题:
复杂系统当然不能用或不建议用或尽量短,但简单的系统只要心中有数逻辑清楚应该是完全可行的。
例如主程序正在运行delay_ms(100),x=100,已延时50ms时被中断,且中断里有个最简软延时消抖delay_ms(20),x=20,运行结果究竟如何的呢?
那么:中断服务执行完,x=0,返回主程序delay_ms(100)时,相当于执行delay_ms(0)了,不计其他,原主程序的延时函数实际延时50ms+中断20ms=70ms,时间缩短了30ms;
若中断延时函数里X很小忽略不计,就相当于原延时函数被中断后就跳过了剩余延时时间!而我往往就需要这种效果!真正中断了有关不想要的延时操作!那就很好!又很简单,何必非要用定时器中断方案呢?
以上个人理解,欢迎探讨!
这篇关于MCU中断里使用软延时函数delay_ms(u16 x)问题探讨:的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!