krnl 1
Loading...
Searching...
No Matches
simpleisr.ino
Go to the documentation of this file.
1// Definition of interrupt names
2#include <avr/io.h>
3// ISR interrupt service routine
4#include <avr/interrupt.h>
5
6volatile int i=0;
7volatile int j,k,l,m;
8
9
10#if defined (__AVR_ATmega2560__) || defined (__AVR_ATmega1280__)
11 ISR(INT4_vect,ISR_NAKED) {
12#else
13 ISR(INT0_vect, ISR_NAKED) {
14#endif
15
16 i++;
17 }
18
19void setup()
20{
21 Serial.begin(9600);
22 pinMode(2,INPUT); // set som input
23 cli(); // disable interrupt
24 digitalWrite(2,HIGH); // enable pullup resistor
25
26#if defined (__AVR_ATmega2560__) || defined (__AVR_ATmega1280__)
27 // 1280/2560 mega pin2 intr:4, pin5 intr:5
28 EIMSK |= (1 << INT4); // enable external intr
29 EICRB |= (1 << ISC41); // trigger INT4 on falling edge
30#else
31 EIMSK |= (1 << INT0); // enable external intr
32 EICRA |= (1 << ISC01); // trigger INT0 on falling edge
33#endif
34 sei(); // enable interrupt
35}
36
37void loop()
38{
39 Serial.print(i);
40 delay(1000);
41}
volatile int i
volatile int k
Definition simpleisr.ino:7
volatile int l
Definition simpleisr.ino:7
void setup()
Definition simpleisr.ino:19
volatile int m
Definition simpleisr.ino:7
ISR(INT0_vect, ISR_NAKED)
Definition simpleisr.ino:13
volatile int j
Definition simpleisr.ino:7
void loop()
Definition simpleisr.ino:37