Merge pull request #5300 from mischnic/attiny_anlReference

Add all analog references supported by the ATtinyX5 series
This commit is contained in:
Sandeep Mistry 2016-09-08 15:37:27 -04:00
commit 6c54454d1c
2 changed files with 16 additions and 4 deletions

View File

@ -61,10 +61,18 @@ void yield(void);
#define FALLING 2 #define FALLING 2
#define RISING 3 #define RISING 3
#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) #if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
#define DEFAULT 0 #define DEFAULT 0
#define EXTERNAL 1 #define EXTERNAL 1
#define INTERNAL 2 #define INTERNAL1V1 2
#define INTERNAL INTERNAL1V1
#elif defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)
#define DEFAULT 0
#define EXTERNAL 4
#define INTERNAL1V1 8
#define INTERNAL INTERNAL1V1
#define INTERNAL2V56 9
#define INTERNAL2V56_EXTCAP 13
#else #else
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)
#define INTERNAL1V1 2 #define INTERNAL1V1 2

View File

@ -64,7 +64,11 @@ int analogRead(uint8_t pin)
// channel (low 4 bits). this also sets ADLAR (left-adjust result) // channel (low 4 bits). this also sets ADLAR (left-adjust result)
// to 0 (the default). // to 0 (the default).
#if defined(ADMUX) #if defined(ADMUX)
#if defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)
ADMUX = (analog_reference << 4) | (pin & 0x07);
#else
ADMUX = (analog_reference << 6) | (pin & 0x07); ADMUX = (analog_reference << 6) | (pin & 0x07);
#endif
#endif #endif
// without a delay, we seem to read from the wrong channel // without a delay, we seem to read from the wrong channel