23 #if defined(BOARD_ATMEGA328P) 29 IOPin((
Board::DigitalPin) pin, INPUT_MODE, pullup),
30 m_ix(pin -
Board::EXT0)
33 uint8_t ix = (m_ix << 1);
37 #elif defined(BOARD_ATMEGA32U4) || defined(BOARD_AT90USB1286) 43 IOPin((
Board::DigitalPin) pin, INPUT_MODE, pullup),
44 m_ix(pin -
Board::EXT0)
47 uint8_t ix = (m_ix << 1);
51 #elif defined(BOARD_ATMEGA2560) 57 IOPin((
Board::DigitalPin) pin, INPUT_MODE, pullup),
62 uint8_t ix = (m_ix << 1);
68 uint8_t ix = (m_ix << 1);
74 #elif defined(BOARD_ATMEGA1248P) 80 IOPin((
Board::DigitalPin) pin, INPUT_MODE, pullup),
88 uint8_t ix = (m_ix << 1);
93 #elif defined(BOARD_ATMEGA256RFR2) 99 IOPin((
Board::DigitalPin) pin, INPUT_MODE, pullup),
104 uint8_t ix = (m_ix << 1);
109 uint8_t ix = (m_ix << 1);
116 #elif defined(BOARD_ATTINYX61) 122 IOPin((
Board::DigitalPin) pin, INPUT_MODE, pullup),
123 m_ix(pin ==
Board::EXT1)
126 uint8_t ix = (m_ix << 1);
142 synchronized bit_clear(GIMSK, INT0 + m_ix);
148 synchronized bit_set(GIFR, INTF0 + m_ix);
151 #elif defined(BOARD_ATTINY) 157 IOPin((
Board::DigitalPin) pin, INPUT_MODE, pullup),
182 synchronized bit_set(GIFR, INTF0);
187 #if !defined(BOARD_ATTINY) 213 #define INT_ISR(nr) \ 214 ISR(INT ## nr ## _vect) \ 216 if (ExternalInterrupt::ext[nr] != NULL) \ 217 ExternalInterrupt::ext[nr]->on_interrupt(); \ 221 #if defined(INT1_vect) 224 #if defined(INT2_vect) 227 #if defined(INT3_vect) 230 #if defined(INT4_vect) 233 #if defined(INT5_vect) 236 #if defined(INT6_vect) 239 #if defined(INT7_vect)
ExternalInterrupt(Board::ExternalInterruptPin pin, InterruptMode mode=ON_CHANGE_MODE, bool pullup=false)
#define bit_field_set(p, m, v)