File tree 2 files changed +16
-16
lines changed
hardware/arduino/avr/cores
2 files changed +16
-16
lines changed Original file line number Diff line number Diff line change @@ -41,22 +41,22 @@ int analogRead(uint8_t pin)
41
41
{
42
42
uint8_t low , high ;
43
43
44
- #if defined(__AVR_ATmega1280__ ) || defined(__AVR_ATmega2560__ )
44
+ #if defined(analogPinToChannel )
45
+ #if defined(__AVR_ATmega32U4__ )
46
+ if (pin >= 18 ) pin -= 18 ; // allow for channel or pin numbers
47
+ #endif
48
+ pin = analogPinToChannel (pin );
49
+ #elif defined(__AVR_ATmega1280__ ) || defined(__AVR_ATmega2560__ )
45
50
if (pin >= 54 ) pin -= 54 ; // allow for channel or pin numbers
46
51
#elif defined(__AVR_ATmega32U4__ )
47
52
if (pin >= 18 ) pin -= 18 ; // allow for channel or pin numbers
48
53
#elif defined(__AVR_ATmega1284__ ) || defined(__AVR_ATmega1284P__ ) || defined(__AVR_ATmega644__ ) || defined(__AVR_ATmega644A__ ) || defined(__AVR_ATmega644P__ ) || defined(__AVR_ATmega644PA__ )
49
54
if (pin >= 24 ) pin -= 24 ; // allow for channel or pin numbers
50
- #elif defined(analogPinToChannel ) && (defined(__AVR_ATtiny25__ ) || defined(__AVR_ATtiny45__ ) || defined(__AVR_ATtiny85__ ))
51
- pin = analogPinToChannel (pin );
52
55
#else
53
56
if (pin >= 14 ) pin -= 14 ; // allow for channel or pin numbers
54
57
#endif
55
-
56
- #if defined(__AVR_ATmega32U4__ )
57
- pin = analogPinToChannel (pin );
58
- ADCSRB = (ADCSRB & ~(1 << MUX5 )) | (((pin >> 3 ) & 0x01 ) << MUX5 );
59
- #elif defined(ADCSRB ) && defined(MUX5 )
58
+
59
+ #if defined(ADCSRB ) && defined(MUX5 )
60
60
// the MUX5 bit of ADCSRB selects whether we're reading from channels
61
61
// 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high).
62
62
ADCSRB = (ADCSRB & ~(1 << MUX5 )) | (((pin >> 3 ) & 0x01 ) << MUX5 );
Original file line number Diff line number Diff line change @@ -41,22 +41,22 @@ int analogRead(uint8_t pin)
41
41
{
42
42
uint8_t low , high ;
43
43
44
- #if defined(__AVR_ATmega1280__ ) || defined(__AVR_ATmega2560__ )
44
+ #if defined(analogPinToChannel )
45
+ #if defined(__AVR_ATmega32U4__ )
46
+ if (pin >= 18 ) pin -= 18 ; // allow for channel or pin numbers
47
+ #endif
48
+ pin = analogPinToChannel (pin );
49
+ #elif defined(__AVR_ATmega1280__ ) || defined(__AVR_ATmega2560__ )
45
50
if (pin >= 54 ) pin -= 54 ; // allow for channel or pin numbers
46
51
#elif defined(__AVR_ATmega32U4__ )
47
52
if (pin >= 18 ) pin -= 18 ; // allow for channel or pin numbers
48
53
#elif defined(__AVR_ATmega1284__ ) || defined(__AVR_ATmega1284P__ ) || defined(__AVR_ATmega644__ ) || defined(__AVR_ATmega644A__ ) || defined(__AVR_ATmega644P__ ) || defined(__AVR_ATmega644PA__ )
49
54
if (pin >= 24 ) pin -= 24 ; // allow for channel or pin numbers
50
- #elif defined(analogPinToChannel ) && (defined(__AVR_ATtiny25__ ) || defined(__AVR_ATtiny45__ ) || defined(__AVR_ATtiny85__ ))
51
- pin = analogPinToChannel (pin );
52
55
#else
53
56
if (pin >= 14 ) pin -= 14 ; // allow for channel or pin numbers
54
57
#endif
55
-
56
- #if defined(__AVR_ATmega32U4__ )
57
- pin = analogPinToChannel (pin );
58
- ADCSRB = (ADCSRB & ~(1 << MUX5 )) | (((pin >> 3 ) & 0x01 ) << MUX5 );
59
- #elif defined(ADCSRB ) && defined(MUX5 )
58
+
59
+ #if defined(ADCSRB ) && defined(MUX5 )
60
60
// the MUX5 bit of ADCSRB selects whether we're reading from channels
61
61
// 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high).
62
62
ADCSRB = (ADCSRB & ~(1 << MUX5 )) | (((pin >> 3 ) & 0x01 ) << MUX5 );
You can’t perform that action at this time.
0 commit comments