//! initialize ADC_ converter void ADC_init(void) { sbi(ADCSR, ADEN); // enable ADC (turn on ADC power) cbi(ADCSR, ADFR); // default to single sample convert mode ADC_set_prescaler(ADC_PRESCALE); // set default prescaler ADC_set_reference(ADC_REFERENCE); // set default reference cbi(ADMUX, ADLAR); // set to right-adjusted result sbi(ADCSR, ADIE); // enable ADC interrupts ADC_complete_flag = 0; // clear conversion complete flag sei(); // turn on interrupts (if not already on) }
int main(int argc, char **argv) { initialize(); clear_array(); PORTE = 0; ADC_enable(); ADC_set_channel(ADC_MUX_ADC5); ADC_set_prescaler(ADC_PRESCALER_128); ADC_start(); while(1){ set_array_red(read_ADC(ADC_MUX_ADC5)); } }