diff options
Diffstat (limited to 'lib/Arduino.h')
-rw-r--r-- | lib/Arduino.h | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/lib/Arduino.h b/lib/Arduino.h index 3698392..ac7031d 100644 --- a/lib/Arduino.h +++ b/lib/Arduino.h @@ -143,8 +143,8 @@ void delayMicroseconds(unsigned int us); // void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val); // uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder); -// void attachInterrupt(uint8_t, void (*)(void), int mode); -// void detachInterrupt(uint8_t); +void attachInterrupt(uint8_t, void (*)(void), int mode); +void detachInterrupt(uint8_t); // Get the bit location within the hardware port of the given virtual pin. // This comes from the pins_*.c file for the active board configuration. @@ -215,6 +215,29 @@ extern const uint8_t PROGMEM digital_pin_to_timer_PGM[]; #define TIMER5B 17 #define TIMER5C 18 + +#define EXTERNAL_INT_0 0 +#define EXTERNAL_INT_1 1 +#define EXTERNAL_INT_2 2 +#define EXTERNAL_INT_3 3 +#define EXTERNAL_INT_4 4 +#define EXTERNAL_INT_5 5 +#define EXTERNAL_INT_6 6 +#define EXTERNAL_INT_7 7 + +#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega128RFA1__) || defined(__AVR_ATmega256RFR2__) || \ + defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega8U2__) +#define EXTERNAL_NUM_INTERRUPTS 8 +#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) +#define EXTERNAL_NUM_INTERRUPTS 3 +#elif defined(__AVR_ATmega32U4__) +#define EXTERNAL_NUM_INTERRUPTS 5 +#else +#define EXTERNAL_NUM_INTERRUPTS 2 +#endif + +typedef void (*voidFuncPtr)(void); + #ifdef __cplusplus } // extern "C" #endif |