Defines | |
#define | ADC_REFERENCE_AREF 0 |
#define | ADC_REFERENCE_AVCC (1 << REFS0) |
#define | ADC_REFERENCE_INT2560MV ((1 << REFS1)| (1 << REFS0)) |
#define | ADC_LEFT_ADJUSTED (1 << ADLAR) |
#define | ADC_RIGHT_ADJUSTED (0 << ADLAR) |
#define | ADC_FREE_RUNNING (1 << ADATE) |
#define | ADC_SINGLE_CONVERSION (0 << ADATE) |
#define | ADC_PRESCALE_2 (1 << ADPS0) |
#define | ADC_PRESCALE_4 (1 << ADPS1) |
#define | ADC_PRESCALE_8 ((1 << ADPS0) | (1 << ADPS1)) |
#define | ADC_PRESCALE_16 (1 << ADPS2) |
#define | ADC_PRESCALE_32 ((1 << ADPS2) | (1 << ADPS0)) |
#define | ADC_PRESCALE_64 ((1 << ADPS2) | (1 << ADPS1)) |
#define | ADC_PRESCALE_128 ((1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0)) |
Functions | |
static void | ADC_Init (uint8_t Mode) |
static void | ADC_Off (void) |
static bool | ADC_GetStatus (void) |
static bool | ADC_IsReadingComplete (void) |
static uint16_t | ADC_GetResult (void) |
static void | ADC_SetupChannel (const uint8_t Channel) |
static void | ADC_StartReading (const uint8_t MUXMask) |
static uint16_t | ADC_GetChannelReading (const uint8_t MUXMask) ATTR_WARN_UNUSED_RESULT |
#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_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.
static uint16_t ADC_GetChannelReading | ( | const uint8_t | MUXMask | ) | [inline, static] |
Performs a complete single reading from channel, including a polling spinloop to wait for the conversion to complete, and the returning of the converted value.
MUXMask | Mask comprising of an ADC channel number, reference mask and adjustment mask |
static uint16_t ADC_GetResult | ( | void | ) | [inline, static] |
Retrieves the conversion value of the last completed ADC conversion.
static bool ADC_GetStatus | ( | void | ) | [inline, static] |
Indicates if the ADC is currently enabled.
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.
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.
static void ADC_Off | ( | 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_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.
Channel | ADC channel number to set up for conversions |
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.
MUXMask | Mask comprising of an ADC channel number, reference mask and adjustment mask |