1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-01-18 07:52:14 +01:00

Added pinToInterrupt() variant macro (Paul Stoffregen)

This commit is contained in:
Cristian Maglie 2013-09-28 21:11:33 +02:00
parent 5284c3a3e6
commit 35d477297d
5 changed files with 13 additions and 1 deletions

View File

@ -25,6 +25,7 @@ ARDUINO 1.5.5 BETA
* avr: Added yun variant with LED_BUILTIN definition
* avr: Refactored Mega* variants definitions in boards.txt (Kristian Sloth Lauszus)
* avr: Removed File object destructor. In order to free memory allocated by a File object the safest way is to call its close() method
* Added digitalPinToInterrupt variant macro (Paul Stoffregen)
ARDUINO 1.5.4 BETA 2013.09.10

View File

@ -132,6 +132,8 @@ static const uint8_t A11 = 29; // D12
extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];
#define analogPinToChannel(P) ( pgm_read_byte( analog_pin_to_channel_PGM + (P) ) )
#define digitalPinToInterrupt(p) ((p) == 0 ? 2 : ((p) == 1 ? 3 : ((p) == 2 ? 1 : ((p) == 3 ? 0 : ((p) == 7 ? 4 : -1)))))
#ifdef ARDUINO_MAIN
// On the Arduino board, digital pins are also used

View File

@ -83,6 +83,8 @@ static const uint8_t A15 = 69;
( (((p) >= 62) && ((p) <= 69)) ? ((p) - 62) : \
0 ) ) ) ) ) )
#define digitalPinToInterrupt(p) ((p) == 2 ? 0 : ((p) == 3 ? 1 : ((p) >= 18 && (p) <= 21 ? 23 - (p) : -1)))
#ifdef ARDUINO_MAIN
const uint16_t PROGMEM port_to_mode_PGM[] = {
@ -360,4 +362,4 @@ const uint8_t PROGMEM digital_pin_to_timer_PGM[] = {
#endif
#endif
#endif

View File

@ -60,6 +60,8 @@ static const uint8_t A7 = 21;
#define digitalPinToPCMSK(p) (((p) <= 7) ? (&PCMSK2) : (((p) <= 13) ? (&PCMSK0) : (((p) <= 21) ? (&PCMSK1) : ((uint8_t *)0))))
#define digitalPinToPCMSKbit(p) (((p) <= 7) ? (p) : (((p) <= 13) ? ((p) - 8) : ((p) - 14)))
#define digitalPinToInterrupt(p) ((p) == 2 ? 0 : ((p) == 3 ? 1 : -1))
#ifdef ARDUINO_MAIN
// On the Arduino board, digital pins are also used

View File

@ -56,6 +56,11 @@ extern "C"{
// Number of pins defined in PinDescription array
#define PINS_COUNT (79u)
#define NUM_DIGITAL_PINS (53u)
#define NUM_ANALOG_INPUTS (12u)
// Interrupts
#define digitalPinToInterrupt(p) ((p) < NUM_DIGITAL_PINS ? (p) : -1)
// LEDs
#define PIN_LED_13 (13u)