Basic Library
Digital I/O
Analog I/O
Advanced I/O
Time
Math
Trigonometry
Random Numbers
Bits and Bytes
Interrupts
Serial Comm.
Standard Library
Servo Motor
Stepping Motor
Character LCD
EEPROM
SPI
I2C (Wire)
SD Card
SD (File Operations)
Ethernet
Ethernet (Server)
Ethernet (Client)
Firmata
Periodic Operation
Power Save
Clock (RTC)
SoftwareSerial
Utility
Interrupt
This library is for using an interrupt operation from specified pins.
attachInterrupt
Description
Specifies a function to call when an external interrupt occurs. Replaces any previous function that was attached to the interrupt. The board has two external interrupts: number0 (on digital pin2), 1 (on digital pin3). The function to call has no parameter and no return.
Syntax
attachInterrupt(unsigned char interrupt, void(*)(void) func, int mode)
Parameters
interrupt: Specify interrupt number 0 or 1(int)
function: Specify the function to call when an interrupt occurs; this function must take no parameters and return nothing. This function is sometimes referred to as an interrupt service routine.
mode: CHANGE (whenever the pin changes value), FALLING (when the pin goes from high to low), RISING (when the pin goes from low to high)Returns
None
Remarks
LOW cannot be specified to mode. In the case of specifying LOW, CHANGE is specified.
The functions used by the system are not executed during interrupt operating so delay(), millis(), Serial() do not work well.
detachInterrupt
Description
Turns off the given interrupt.
Syntax
detachInterrupt(unsigned char interrupt)
Parameters
interrupt: The number of the interrupt to disable.(0 or 1)
Returns
None
interrupts
Description
Re-enables interrupts (after they've been disabled by noInterrupts()).
Syntax
interrupts()
Parameters
None
Returns
None
noInterrupts
Description
Disables interrupts (you can re-enable them with interrupts()). Interrupts allow certain important tasks to happen in the background and are enabled by default. Some functions will not work while interrupts are disabled, and incoming communication may be ignored. Interrupts can slightly disrupt the timing of code, however, and may be disabled for particularly critical sections of code.
Syntax
noInterrupts()
Parameters
None
Returns
None
Example
Red LED lights up when the button on GR-COTTON is pushed.
#include <Arduino.h>
void sw_push(){
digitalWrite(22, LOW);
delayMicroseconds(10000); // 10ms
digitalWrite(22, HIGH);
}
void setup() {
pinMode(2, INPUT_PULLUP);
attachInterrupt(0, sw_push, FALLING);
pinMode(22, OUTPUT); //red led
digitalWrite(22, HIGH);
}
void loop() {
}