中断的例子
我用的是arduino给的参考例子//Example:
int pin = 13;
volatile int state = LOW;
void setup()
{
pinMode(pin, OUTPUT);
attachInterrupt(0, blink, CHANGE);
}
void loop()
{
digitalWrite(pin, state);
}
void blink()
{
state = !state;
}
问个很弱的问题。如果我想触发中断,用一根导线连Arduino板载5V和pin脚3,然后断开,这样是不是应该能看到LED13亮灭。
为什么实际上是灯一直处于亮的状态……求解惑。或者是我需要接电阻,再连到pin脚3? 实际是有效果的,不过灯还没灭,它又亮了,眼睛看不到。亮和灭的频率太高了
state = !state;
后加个延时试试
digitalWrite(pin, state);后面延时也行 楼主用的什么板子?是uno吗?uno的话上述代码,引发中断应是pin2具体可以看看这个说明:http://www.arduino.cc/en/Reference/AttachInterrupt 楼上正解,
attachInterrupt(0, blink, CHANGE);是D2,
attachInterrupt(1, blink, CHANGE);才是D3 ttyp 发表于 2013-1-5 15:48 static/image/common/back.gif
实际是有效果的,不过灯还没灭,它又亮了,眼睛看不到。亮和灭的频率太高了
state = !state;
后加个延时试 ...
谢谢!是延时的问题,加了delay就能看到开关了。 Ansifa 发表于 2013-1-5 18:06 static/image/common/back.gif
楼上正解,
attachInterrupt(0, blink, CHANGE);是D2,
attachInterrupt(1, blink, CHANGE);才是D3
嗯。这个没弄错,是TXRX接下来的第一个脚。是延时的问题。
在blink里加了一句count++,在串口监视器里打出来,然后把5V电压引根线接到PIN2,断开,接上,发现数字有的时候重跳,有的时候不跳。
需要加电容在5V和PIN2之间吗? james11 发表于 2013-1-5 15:56 static/image/common/back.gif
楼主用的什么板子?是uno吗?uno的话上述代码,引发中断应是pin2具体可以看看这个说明:http://www.arduino ...
也谢谢你!热情的版友真不少~~ seuabb 发表于 2013-1-6 23:27 static/image/common/back.gif
嗯。这个没弄错,是TXRX接下来的第一个脚。是延时的问题。
在blink里加了一句count++,在串口监视器里打 ...
加电容就要顺便加一个拉电阻,可以防抖动
页:
[1]