#define TRUE 1
#define FALSE 0
volatile int cont;
volatile int Flag;
void setup() {
Serial.begin(9600);
DDRB = DDRB & ~(1 << DDB0);
PORTB = PORTB | (1 << PB0);
/*interrupção PCINT0*/
PCMSK0 = PCMSK0 | (1 << PCINT0); //Habilita PCINT0
PCICR = PCICR | (1 << PCIE0); //Habilita PCINT 7:0
}
void loop() {
Flag = cont = 0;
Serial.print("contador de Chave com INT0 .\n");
Serial.print(cont);
Serial.print("\n");
while(TRUE){
while(Flag == 0); //Espera interrupção por contagem
Flag = 0;
Serial.print(cont);
Serial.print("\n");
}
}
ISR(PCINT0_vect){
cont++;
Flag = 1;
}