added 12th ADC channel for Leonardo. cleaned up and corrected comments for pin functions.

This commit is contained in:
Zach Eveland 2011-11-02 07:37:39 -04:00
parent 75cc55d917
commit 4ea7fc9ef3
1 changed files with 22 additions and 72 deletions

View File

@ -56,6 +56,7 @@ const static uint8_t A7 = 21;
const static uint8_t A8 = 22; const static uint8_t A8 = 22;
const static uint8_t A9 = 23; const static uint8_t A9 = 23;
const static uint8_t A10 = 24; const static uint8_t A10 = 24;
const static uint8_t A11 = 25;
// __AVR_ATmega32U4__ has an unusual mapping of pins to channels // __AVR_ATmega32U4__ has an unusual mapping of pins to channels
extern const uint8_t PROGMEM analog_pin_to_channel_PGM[]; extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];
@ -67,41 +68,6 @@ extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];
// for the analog output (software PWM). Analog input // for the analog output (software PWM). Analog input
// pins are a separate set. // pins are a separate set.
// ATMEL ATMEGA8 & 168 / ARDUINO
//
// +-\/-+
// PC6 1| |28 PC5 (AI 5)
// (D 0) PD0 2| |27 PC4 (AI 4)
// (D 1) PD1 3| |26 PC3 (AI 3)
// (D 2) PD2 4| |25 PC2 (AI 2)
// PWM+ (D 3) PD3 5| |24 PC1 (AI 1)
// (D 4) PD4 6| |23 PC0 (AI 0)
// VCC 7| |22 GND
// GND 8| |21 AREF
// PB6 9| |20 AVCC
// PB7 10| |19 PB5 (D 13)
// PWM+ (D 5) PD5 11| |18 PB4 (D 12)
// PWM+ (D 6) PD6 12| |17 PB3 (D 11) PWM
// (D 7) PD7 13| |16 PB2 (D 10) PWM
// (D 8) PB0 14| |15 PB1 (D 9) PWM
// +----+
//
// (PWM+ indicates the additional PWM pins on the ATmega168.)
// ATMEL ATMEGA1280 / ARDUINO
//
// 0-7 PE0-PE7 works
// 8-13 PB0-PB5 works
// 14-21 PA0-PA7 works
// 22-29 PH0-PH7 works
// 30-35 PG5-PG0 works
// 36-43 PC7-PC0 works
// 44-51 PJ7-PJ0 works
// 52-59 PL7-PL0 works
// 60-67 PD7-PD0 works
// A0-A7 PF0-PF7
// A8-A15 PK0-PK7
// ATMEL ATMEGA32U4 / ARDUINO LEONARDO // ATMEL ATMEGA32U4 / ARDUINO LEONARDO
// //
// D0 PD2 RXD1/INT2 // D0 PD2 RXD1/INT2
@ -110,14 +76,14 @@ extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];
// D3# PD0 PWM8/SCL OC0B/SCL/INT0 // D3# PD0 PWM8/SCL OC0B/SCL/INT0
// D4 A6 PD4 ADC8 // D4 A6 PD4 ADC8
// D5# PC6 ??? OC3A/#OC4A // D5# PC6 ??? OC3A/#OC4A
// D6# A7 PD7 FastPWM #OC4D/ADC10 // D6# A8 PD7 FastPWM #OC4D/ADC10
// D7 PE6 INT6/AIN0 // D7 Ain0 PE6 INT6/AIN0
// //
// D8 PB4 ADC11/PCINT4 // D8 A9 PB4 ADC11/PCINT4
// D9# A8 PB5 PWM16 OC1A/#OC4B/ADC13/PCINT5 // D9# A10 PB5 PWM16 OC1A/#OC4B/ADC12/PCINT5
// D10# A9 PB6 PWM16 OC1B/0c4B/ADC12/PCINT6 // D10# A11 PB6 PWM16 OC1B/0c4B/ADC13/PCINT6
// D11# PB7 PWM8/16 0C0A/OC1C/#RTS/PCINT7 // D11# PB7 PWM8/16 0C0A/OC1C/#RTS/PCINT7
// D12 A10 PD6 T1/#OC4D/ADC9 // D12 A7 PD6 T1/#OC4D/ADC9
// D13# PC7 PWM10 CLK0/OC4A // D13# PC7 PWM10 CLK0/OC4A
// //
// A0 PF7 ADC7 // A0 PF7 ADC7
@ -138,7 +104,6 @@ extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];
// RXLED PB0 // RXLED PB0
// HWB PE2 HWB // HWB PE2 HWB
// these arrays map port names (e.g. port B) to the // these arrays map port names (e.g. port B) to the
// appropriate addresses for various functions (e.g. reading // appropriate addresses for various functions (e.g. reading
// and writing) // and writing)
@ -242,35 +207,20 @@ const uint8_t PROGMEM digital_pin_to_timer_PGM[18] = {
NOT_ON_TIMER, NOT_ON_TIMER,
}; };
const uint8_t PROGMEM analog_pin_to_channel_PGM[11] = { const uint8_t PROGMEM analog_pin_to_channel_PGM[12] = {
/* 7, // A0 PF7 ADC7
A0 PF7 ADC7 6, // A1 PF6 ADC6
A1 PF6 ADC6 5, // A2 PF5 ADC5
A2 PF5 ADC5 4, // A3 PF4 ADC4
A3 PF4 ADC4 1, // A4 PF1 ADC1
A4 PF1 ADC1 0, // A5 PF0 ADC0
A5 PF0 ADC0 8, // D4 A6 PD4 ADC8
D4 A6 PD4 ADC8 9, // D12 A7 PD6 T1/#OC4D/ADC9
D6 A7 PD7 FastPWM #OC4D/ADC10 10, // D6# A8 PD7 FastPWM #OC4D/ADC10
D9 A8 PB5 PWM16 OC1A/#OC4B/ADC13/PCINT5 11, // D8 A9 PB4 ADC11/PCINT4
D10 A9 PB6 PWM16 OC1B/0c4B/ADC12/PCINT6 12, // D9# A10 PB5 PWM16 OC1A/#OC4B/ADC12/PCINT5
D12 A10 PD6 T1/#OC4D/ADC9 13 // D10# A11 PB6 PWM16 OC1B/0c4B/ADC13/PCINT6
*/
7,
6,
5,
4,
1,
0,
8,
10,
13,
12,
9
}; };
#endif #endif /* ARDUINO_MAIN */
#endif /* Pins_Arduino_h */
#endif