#include <LiquidCrystal.h>
LiquidCrystal myLCD(13, 12, 11, 10, 9, 8);
#define key 21
int loopCounter, intCounter;
boolean keyState, prevKeyState;
void setup() {
myLCD.begin(16, 2);
pinMode(key, INPUT_PULLUP);
noInterrupts();
//int intNum = digitalPinToInterrupt(key);
//attachInterrupt(intNum, ExtInt, FALLING);
bitSet(EICRA, ISC01);
bitSet(EIMSK, INT0);
interrupts();
}
void display() {
myLCD.setCursor(0,0);
myLCD.print("loopCounter=");
myLCD.print(loopCounter);
myLCD.setCursor(0,1);
myLCD.print(" intCounter=");
myLCD.print(intCounter);
delay(200);
}
void ExtInt(){
intCounter++;
}
ISR(INT0_vect){
intCounter++;
}
void loopCount() {
keyState = digitalRead(key);
if ((keyState == LOW) && (prevKeyState == HIGH)){
loopCounter++;
}
prevKeyState = keyState;
}
void loop() {
loopCount();
display();
}