关于外中断0的电平触发的滞后现象~~
时间:10-02
整理:3721RD
点击:
最近做了一个小东西,发现一个小问题:
程序里面用了一个外中断0,设置的是低电平触发。
低电平事件是用开关接地来实现的,没有其他的任何配件,,
但问题出来了,,,
实验结果表明:按下开关之后,并不是立即产生中断,虽然用了一个延时函数做防抖动,但是这个延时函数也只有300us,
而实现结果是,这个滞后现象能达到500ms-1s,大大拖慢了中断响应。
当然也有一些客观条件,这个程序中用了300ms 500ms 15ms等延时函数,
可是外中断0设置的是最高优先级啊,难道在延时函数的时候不能进行中断么?
说不通啊,
下降沿触发我还没有测试,不知道会不会出现这种现象,不用下降沿主要是怕它影响系统稳定性。
稍后我用下降沿再做一个测试 看下效果
求大神解释下低电平出的这个问题 ~~~~~~~~~~~~~
程序里面用了一个外中断0,设置的是低电平触发。
低电平事件是用开关接地来实现的,没有其他的任何配件,,
但问题出来了,,,
实验结果表明:按下开关之后,并不是立即产生中断,虽然用了一个延时函数做防抖动,但是这个延时函数也只有300us,
而实现结果是,这个滞后现象能达到500ms-1s,大大拖慢了中断响应。
当然也有一些客观条件,这个程序中用了300ms 500ms 15ms等延时函数,
可是外中断0设置的是最高优先级啊,难道在延时函数的时候不能进行中断么?
说不通啊,
下降沿触发我还没有测试,不知道会不会出现这种现象,不用下降沿主要是怕它影响系统稳定性。
稍后我用下降沿再做一个测试 看下效果
求大神解释下低电平出的这个问题 ~~~~~~~~~~~~~
你把按键按下。这个步骤大概都要几百MS啦。
可是按下之后,还是要等一下才起中断,,,
而且我做了一个实验,我连续的不停按,很快的那种,给我的感觉就是,中断程序反应不过来
老是要等下,,,
这个前提条件是中断已经起了反应~~~~
比如我用两个LED0 和 LED1
主程序中LED0亮 中断中LED1亮
现象就是,LED0亮 按下开关LED1亮 持续1S LED1熄 LED0亮
当我快速不停按的时候,LED1并不能在我按下后马上亮 而是要开关持续按下一会儿, LED1才亮
说白了就是,外中断不能立马产生,很迟钝的样子~~~
额。单片机运行速度问题吧。
