外部中断0最好是低电平触发,跪求C程序! 当然如果能用下降沿触发的实现这样的功能也可以,拜托各位大神了,能实现了再追加最大奖励!
我在想能不能通过配合在定时器中弄一个标志位来实现?
我这里的8秒不一定是准确的,大概就好,用软件延迟都无所谓,所以感觉这么用定时器不太有用。我是想在持续外部中断中(也就是一直低电平触发)LED点亮一段时间后就熄灭了。但是若中途变为高电平(也就是灯还没点亮够足够的时间)灯立即熄灭。我也想用下降沿触发,但是实现不了撤掉中断,灯立即熄灭的效果,不懂有没有什么好方法
追答建议还是用定时器,软件那个误差太大了。我只提供一个思路,你在中断程序中去检测3.2口的电平,变高就灭灯啊,我觉得我之前说的够清楚了,好像就算你一直维持低电平,它也不可能说一直处于触发状态,那样的话不就成了随时处于即将进入中断而非执行中断了。我是这样理解的反正:它低电平只是说在下降沿后检测到一个低电平就触发中断,至于这个低电平之后是什么,得让我执行完这次中断程序之后再说,不可能说因为我执行中断程序时,因为我这个中断还是低电平,那我自己再把自己打断一次进入中断嘛,那要是一直低电平,那不是进入死循环了?所以一旦触发中断之后,在这次中断执行完之前,这个引脚状态应该是和我中断无关了,这只是我的理解,我也没有具体测试过,你可以去试试。如果真是我说的那样,那么在中断程序里面去测3.2口电平就行了。