![]() |
enum | adc_channel_type { ADC0 = 0, ADC1 = 1, ADC2 = 2, ADC3 = 3, ADC4 = 4, ADC5 = 5, ADC6 = 6, ADC7 = 7, ADC0 = 0, ADC1 = 1, ADC2 = 2, ADC3 = 3, ADC4 = 4, ADC5 = 5, ADC6 = 6, ADC7 = 7, ADC_MAX_CHANNEL = 8 } |
enum declaring possible ADC channels More... | |
Defines | |
#define | ADC_PRESCALE_DIV2 0x00 |
0x01,0x00 -> CPU clk/2 | |
#define | ADC_PRESCALE_DIV4 0x02 |
0x02 -> CPU clk/4 | |
#define | ADC_PRESCALE_DIV8 0x03 |
0x03 -> CPU clk/8 | |
#define | ADC_PRESCALE_DIV16 0x04 |
0x04 -> CPU clk/16 | |
#define | ADC_PRESCALE_DIV32 0x05 |
0x05 -> CPU clk/32 | |
#define | ADC_PRESCALE_DIV64 0x06 |
0x06 -> CPU clk/64 | |
#define | ADC_PRESCALE_DIV128 0x07 |
0x07 -> CPU clk/128 | |
#define | ADC_INITIAL_CHANNEL ADC0 |
#define | ADC_INITIAL_REF AVCC |
#define | ADC_INITIAL_MODE SINGLE_CONVERSION |
#define | ADC_INITIAL_PRESCALE ADC_PRESCALE_DIV64 |
#define | ADC_BUF_SIZE 16 |
#define | AVR_SLEEP_CTRL_REG MCUCR |
#define | _adc_buf_head ADC_BUF_SIZE |
#define | _adc_buf_tail ADC_BUF_SIZE+1 |
Typedefs | |
typedef enum adc_ref_type | adc_ref_t |
typedef enum adc_mode_type | adc_mode_t |
typedef enum adc_channel_type | adc_channel_t |
Enumerations | |
enum | adc_ref_type { AVCC = 0, AREF, INTERNAL_256 } |
enum | adc_mode_type { ADC_OFF, FREE_RUNNING, SINGLE_CONVERSION, ADC_OFF, FREE_RUNNING_T0, FREE_RUNNING_T1, FREE_RUNNING_T2, FREE_RUNNING_EXT, SINGLE_CONVERSION } |
Functions | |
void | ADCInit (void) |
Initialize the adc to the configured default values and enable interrupt. | |
void | ADCSetRef (adc_ref_t reference) |
void | ADCSetMode (adc_mode_t mode) |
Sets the data aquisition mode for the adc. | |
uint8_t | ADCSetPrescale (uint8_t prescalar) |
void | ADCSetChannel (adc_channel_t adc_channel) |
void | ADCBufferFlush (void) |
void | ADCStartConversion (void) |
Start conversion. | |
void | ADCStartLowNoiseConversion (void) |
void | ADCStopConversion (void) |
uint8_t | ADCRead (uint16_t *value) |
adc_mode_t | ADCGetMode (void) |
int | ADCBufRead (uint16_t *buf, uint16_t *read) |
int | ADCBufWrite (uint16_t *buf, uint16_t *write) |
void | ADCBufInit (uint16_t *buf) |
Variables | |
uint8_t | adc_sleep_mode = SLEEP_MODE_ADC |
adc_mode_t | current_mode = ADC_OFF |
uint16_t * | ADC_buffer = NULL |
#define ADC_PRESCALE_DIV2 0x00 |
#define ADC_PRESCALE_DIV4 0x02 |
#define ADC_PRESCALE_DIV8 0x03 |
#define ADC_PRESCALE_DIV16 0x04 |
#define ADC_PRESCALE_DIV32 0x05 |
#define ADC_PRESCALE_DIV64 0x06 |
#define ADC_PRESCALE_DIV128 0x07 |
#define ADC_INITIAL_MODE SINGLE_CONVERSION |
#define ADC_INITIAL_PRESCALE ADC_PRESCALE_DIV64 |
#define ADC_BUF_SIZE 16 |
#define AVR_SLEEP_CTRL_REG MCUCR |
#define _adc_buf_head ADC_BUF_SIZE |
Definition at line 141 of file adc.c.
Referenced by ADCBufInit(), ADCBufRead(), ADCBufWrite(), and ADCInit().
#define _adc_buf_tail ADC_BUF_SIZE+1 |
Definition at line 142 of file adc.c.
Referenced by ADCBufInit(), ADCBufRead(), ADCBufWrite(), and ADCInit().
typedef enum adc_ref_type adc_ref_t |
typedef enum adc_mode_type adc_mode_t |
typedef enum adc_channel_type adc_channel_t |
enum adc_ref_type |
enum adc_mode_type |
enum adc_channel_type |
void ADCInit | ( | void | ) |
Initialize the adc to the configured default values and enable interrupt.
Definition at line 190 of file adc.c.
References ADC_BUF_SIZE, ADC_buffer, ADC_INITIAL_CHANNEL, ADC_INITIAL_MODE, ADC_INITIAL_PRESCALE, ADC_INITIAL_REF, ADCBufInit(), ADCSetChannel(), ADCSetMode(), ADCSetPrescale(), ADCSetRef(), NutHeapAlloc, NutRegisterIrqHandler(), sbi, and sig_ADC.
void ADCSetRef | ( | adc_ref_t | reference | ) |
Definition at line 213 of file adc.c.
References ADCStopConversion(), AREF, AVCC, cbi, INTERNAL_256, and sbi.
Referenced by ADCInit().
void ADCSetMode | ( | TADCMode | mode | ) |
Sets the data aquisition mode for the adc.
mode | Mode to set |
Definition at line 236 of file adc.c.
References ADC_OFF, ADCStopConversion(), cbi, current_mode, FREE_RUNNING, sbi, and SINGLE_CONVERSION.
Referenced by ADCInit(), and ADCStartLowNoiseConversion().
Definition at line 253 of file adc.c.
References ADC_PRESCALE_DIV128, ADC_PRESCALE_DIV16, ADC_PRESCALE_DIV2, ADC_PRESCALE_DIV32, ADC_PRESCALE_DIV4, ADC_PRESCALE_DIV64, ADC_PRESCALE_DIV8, ADCStopConversion(), cbi, and sbi.
Referenced by ADCInit().
void ADCSetChannel | ( | adc_channel_t | adc_channel | ) |
void ADCBufferFlush | ( | void | ) |
void ADCStartConversion | ( | void | ) |
void ADCStartLowNoiseConversion | ( | void | ) |
Definition at line 326 of file adc.c.
References _BV, adc_sleep_mode, ADCSetMode(), AVR_SLEEP_CTRL_REG, sbi, and SINGLE_CONVERSION.
void ADCStopConversion | ( | void | ) |
Definition at line 346 of file adc.c.
References cbi, current_mode, FREE_RUNNING, and sbi.
Referenced by ADCSetMode(), ADCSetPrescale(), and ADCSetRef().
adc_mode_t ADCGetMode | ( | void | ) | [inline] |
void ADCBufInit | ( | uint16_t * | buf | ) |
Definition at line 172 of file adc.c.
References _adc_buf_head, and _adc_buf_tail.
Referenced by ADCBufferFlush(), and ADCInit().
uint8_t adc_sleep_mode = SLEEP_MODE_ADC |
adc_mode_t current_mode = ADC_OFF |
Definition at line 130 of file adc.c.
Referenced by ADCGetMode(), ADCSetMode(), and ADCStopConversion().
uint16_t* ADC_buffer = NULL |