Detailed Description
ADC driver for the AT90USB1287, AT90USB1286, AT90USB647, AT90USB646, ATMEGA16U4 and ATMEGA32U4 AVRs.
- Note:
- This file should not be included directly. It is automatically included as needed by the ADC driver dispatch header located in LUFA/Drivers/Peripheral/ADC.h.
Define Documentation
#define ADC_1100MV_BANDGAP 0x1E |
#define ADC_CHANNEL0 0x00 |
#define ADC_CHANNEL1 0x01 |
#define ADC_CHANNEL10 0x22 |
#define ADC_CHANNEL11 0x23 |
#define ADC_CHANNEL12 0x24 |
#define ADC_CHANNEL13 0x25 |
#define ADC_CHANNEL4 0x04 |
#define ADC_CHANNEL5 0x05 |
#define ADC_CHANNEL6 0x06 |
#define ADC_CHANNEL7 0x07 |
#define ADC_CHANNEL8 0x20 |
#define ADC_CHANNEL9 0x21 |
#define ADC_FREE_RUNNING (1 << ADATE) |
Sets the ADC mode to free running, so that conversions take place continuously as fast as the ADC is capable of at the given input clock speed.
#define ADC_INT_TEMP_SENS 0x27 |
#define ADC_LEFT_ADJUSTED (1 << ADLAR) |
Left-adjusts the 10-bit ADC result, so that the upper 8 bits of the value returned by the ADC_GetResult() macro contain the 8 most significant bits of the result.
#define ADC_PRESCALE_128 ((1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0)) |
Sets the ADC input clock to prescale by a factor of 128 the AVR's system clock.
#define ADC_PRESCALE_16 (1 << ADPS2) |
Sets the ADC input clock to prescale by a factor of 16 the AVR's system clock.
#define ADC_PRESCALE_2 (1 << ADPS0) |
Sets the ADC input clock to prescale by a factor of 2 the AVR's system clock.
#define ADC_PRESCALE_32 ((1 << ADPS2) | (1 << ADPS0)) |
Sets the ADC input clock to prescale by a factor of 32 the AVR's system clock.
#define ADC_PRESCALE_4 (1 << ADPS1) |
Sets the ADC input clock to prescale by a factor of 4 the AVR's system clock.
#define ADC_PRESCALE_64 ((1 << ADPS2) | (1 << ADPS1)) |
Sets the ADC input clock to prescale by a factor of 64 the AVR's system clock.
#define ADC_PRESCALE_8 ((1 << ADPS0) | (1 << ADPS1)) |
Sets the ADC input clock to prescale by a factor of 8 the AVR's system clock.
#define ADC_REFERENCE_AREF 0 |
Reference mask, for using the voltage present at the AVR's AREF pin for the ADC reference.
#define ADC_REFERENCE_AVCC (1 << REFS0) |
Reference mask, for using the voltage present at the AVR's AVCC pin for the ADC reference.
#define ADC_REFERENCE_INT2560MV ((1 << REFS1)| (1 << REFS0)) |
Reference mask, for using the internally generated 2.56V reference voltage as the ADC reference.
#define ADC_RIGHT_ADJUSTED (0 << ADLAR) |
Right-adjusts the 10-bit ADC result, so that the lower 8 bits of the value returned by the ADC_GetResult() macro contain the 8 least significant bits of the result.
#define ADC_SINGLE_CONVERSION (0 << ADATE) |
Sets the ADC mode to single conversion, so that only a single conversion will take place before the ADC returns to idle.
Function Documentation
static uint16_t ADC_GetChannelReading |
( |
const uint8_t |
MUXMask |
) |
[inline, static] |
Performs a complete single reading from channel, including a polling spin-loop to wait for the conversion to complete, and the returning of the converted value.
- Parameters:
-
[in] | MUXMask | Mask comprising of an ADC channel mask, reference mask and adjustment mask |
static uint16_t ADC_GetResult |
( |
void |
|
) |
[inline, static] |
Retrieves the conversion value of the last completed ADC conversion.
- Returns:
- The result of the last ADC conversion
static bool ADC_GetStatus |
( |
void |
|
) |
[inline, static] |
Indicates if the ADC is currently enabled.
- Returns:
- Boolean true if the ADC subsystem is currently enabled, false otherwise.
static void ADC_Init |
( |
uint8_t |
Mode |
) |
[inline, static] |
Initializes the ADC, ready for conversions. This must be called before any other ADC operations. The "mode" parameter should be a mask comprised of a conversion mode (free running or single) and prescaler masks.
- Parameters:
-
[in] | Mode | Mask of ADC settings, including adjustment, prescale, mode and reference |
static bool ADC_IsReadingComplete |
( |
void |
|
) |
[inline, static] |
Indicates if the current ADC conversion is completed, or still in progress.
- Returns:
- Boolean false if the reading is still taking place, or true if the conversion is complete and ready to be read out with ADC_GetResult()
static void ADC_SetupChannel |
( |
const uint8_t |
Channel |
) |
[inline, static] |
Configures the given ADC channel, ready for ADC conversions. This function sets the associated port pin as an input and disables the digital portion of the I/O to reduce power consumption.
- Note:
- This must only be called for ADC channels with are connected to a physical port pin of the AVR, denoted by its special alternative function ADCx.
-
The channel number must be specified as an integer, and NOT a ADC_CHANNELx mask.
- Parameters:
-
[in] | Channel | ADC channel number to set up for conversions |
static void ADC_ShutDown |
( |
void |
|
) |
[inline, static] |
Turns off the ADC. If this is called, any further ADC operations will require a call to ADC_Init() before the ADC can be used again.
static void ADC_StartReading |
( |
const uint8_t |
MUXMask |
) |
[inline, static] |
Starts the reading of the given channel, but does not wait until the conversion has completed. Once executed, the conversion status can be determined via the ADC_IsReadingComplete() macro and the result read via the ADC_GetResult() macro.
- Parameters:
-
[in] | MUXMask | Mask comprising of an ADC channel mask, reference mask and adjustment mask |