Fixed handling of Ax constants on Leonardo

Fixed mistake in assignment and handling of A6-A11 constants.  Renumbered constants for all Ax channels.
This commit is contained in:
Zach Eveland 2011-11-16 10:49:41 -05:00
parent 3ee847c8e2
commit ba5d66c26f
2 changed files with 15 additions and 13 deletions

View File

@ -43,6 +43,8 @@ int analogRead(uint8_t pin)
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
if (pin >= 54) pin -= 54; // allow for channel or pin numbers
#elif defined(__AVR_ATmega32U4__)
if (pin >= 18) pin -= 18; // allow for channel or pin numbers
#else
if (pin >= 14) pin -= 14; // allow for channel or pin numbers
#endif

View File

@ -45,19 +45,19 @@ const static uint8_t MISO = 17;
const static uint8_t SCK = 15;
// Mapping of analog pins as digital I/O
// A6-A11 are already shared with digital pins
const static uint8_t A0 = 14;
const static uint8_t A1 = 15;
const static uint8_t A2 = 16;
const static uint8_t A3 = 17;
const static uint8_t A4 = 18;
const static uint8_t A5 = 19;
const static uint8_t A6 = 4;
const static uint8_t A7 = 6;
const static uint8_t A8 = 8;
const static uint8_t A9 = 9;
const static uint8_t A10 = 10;
const static uint8_t A11 = 12;
// A6-A11 share with digital pins
const static uint8_t A0 = 18;
const static uint8_t A1 = 19;
const static uint8_t A2 = 20;
const static uint8_t A3 = 21;
const static uint8_t A4 = 22;
const static uint8_t A5 = 23;
const static uint8_t A6 = 24; // D4
const static uint8_t A7 = 25; // D6
const static uint8_t A8 = 26; // D8
const static uint8_t A9 = 27; // D9
const static uint8_t A10 = 28; // D10
const static uint8_t A11 = 29; // D12
// __AVR_ATmega32U4__ has an unusual mapping of pins to channels
extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];