9 #if defined(ARDUINO) && ARDUINO >= 100
16 #ifndef Pins_Arduino_h
17 #include "pins_arduino.h"
64 #ifndef MAX_PIN_CHANGE_PINS
65 #define MAX_PIN_CHANGE_PINS 8
79 #if ((defined(NO_PORTB_PINCHANGES) && defined(NO_PORTC_PINCHANGES)) || \
80 (defined(NO_PORTC_PINCHANGES) && defined(NO_PORTD_PINCHANGES)) || \
81 (defined(NO_PORTD_PINCHANGES) && defined(NO_PORTB_PINCHANGES)))
83 #define INLINE_PCINT inline
88 #define PCdetachInterrupt(pin) PCintPort::detachInterrupt(pin)
89 #define PCattachInterrupt(pin,userFunc,mode) PCintPort::attachInterrupt(pin, userFunc,mode)
96 PCintPort(
int index,
volatile uint8_t& maskReg) :
97 #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
98 portInputReg(*portInputRegister((index == 0)?(2):(index + 9))),
107 for (
int i = 0; i < 9; i++) {
129 void delPin(uint8_t mask);
void(* PCIntvoidFuncPtr)(void)
Definition: PinChangeInt.h:93
#define MAX_PIN_CHANGE_PINS
Definition: PinChangeInt.h:65
#define INLINE_PCINT
Definition: PinChangeInt.h:78
Definition: PinChangeInt.h:118
PCintPin()
Definition: PinChangeInt.h:120
PCIntvoidFuncPtr PCintFunc
Definition: PinChangeInt.h:123
static PCintPin pinDataAlloc[MAX_PIN_CHANGE_PINS]
Definition: PinChangeInt.h:126
uint8_t PCintMode
Definition: PinChangeInt.h:124
uint8_t PCIntMask
Definition: PinChangeInt.h:125
Definition: PinChangeInt.h:95
PCintPin * pcIntPins[9]
Definition: PinChangeInt.h:134
INLINE_PCINT void PCint()
Definition: PinChangeInt.cpp:139
void addPin(uint8_t mode, uint8_t mask, PCIntvoidFuncPtr userFunc)
Definition: PinChangeInt.cpp:17
static void detachInterrupt(uint8_t pin)
Definition: PinChangeInt.cpp:115
static void attachInterrupt(uint8_t pin, PCIntvoidFuncPtr userFunc, int mode)
Definition: PinChangeInt.cpp:81
uint8_t PCintLast
Definition: PinChangeInt.h:133
static PCintPort pcIntPorts[]
Definition: PinChangeInt.h:115
volatile uint8_t & portInputReg
Definition: PinChangeInt.h:130
const uint8_t PCICRbit
Definition: PinChangeInt.h:132
volatile uint8_t & pcmask
Definition: PinChangeInt.h:131
void delPin(uint8_t mask)
Definition: PinChangeInt.cpp:51