kingepoch 发表于 2013-8-14 11:21:19

中断函数中使用delay延迟是否可以

代码如下:
int on_off = 0;
void setup()
{
pinMode(13, OUTPUT);
attachInterrupt(0, falling, RISING);
attachInterrupt(0, low, LOW);
}

void loop()
{
if(on_off == 1)
pinMode(13,HIGH);
else
pinMode(13,LOW);
}

void falling()
{
if(on_off==1)
on_off = 0;
else
on_off = 1;
delay(2000);
}

void low()
{
on_off=1;
}

1>falling函数里面使用delay,是否有问题呢?
2>一个中断源使用两个模式,是否有问题?


谢谢

pathletboy 发表于 2013-8-14 11:39:00

1、中断函数里不应该使用任何延迟函数及任何长时间运行。
2、不存在2个模式的说法,只生效了最后一个。

林定祥 发表于 2013-8-14 11:53:55

试一试吧。

kingepoch 发表于 2013-8-14 12:02:36

pathletboy 发表于 2013-8-14 11:39 static/image/common/back.gif
1、中断函数里不应该使用任何延迟函数及任何长时间运行。
2、不存在2个模式的说法,只生效了最后一个。

谢谢哈,
5v电压接限位开关com端,No端接电阻在接到中断0,中断执行时不稳定,如果开关按的快点,就不能正常切换等的亮灭,led会再限位开关松开几秒后不停的闪烁,这是什么原因呢?

qptimus 发表于 2013-8-14 12:13:35

中断模式改成CHANGE能满足你的需求
页: [1]
查看完整版本: 中断函数中使用delay延迟是否可以