HW/IT/SingleBoardComputers/Arduino/sandbox/0113InteruptTest/interputp.ino

int pbIn = 0;                  // Interrupt 0 is on DIGITAL PIN 2!
int ledOut = 13;                // The output LED pin
volatile int state = LOW;      // The input state toggle

void setup()
{
  // Set up the digital pin 2 to an Interrupt and Pin 13 to an Output
  pinMode(ledOut, OUTPUT);

  //Attach the interrupt to the input pin and monitor for ANY Change
  attachInterrupt(pbIn, stateChange, RISING);
}

void loop()
{
  //Simulate a long running process or complex task
  for (int i = 0; i < 100; i++)
  {
    // do nothing but waste some time
    delay(10);
  }
}

void stateChange()
{
  //state = !state;
  //digitalWrite(ledOut, state);
  for (int i = 0; i < 60; i++)
  {
    delayMicroseconds(16383);
  }
  digitalWrite(ledOut, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(20000);               // wait for a second
  digitalWrite(ledOut, LOW);    // turn the LED off by making the voltage LOW
}