#include <stdio.h>
#include <avr/interrupt.h>
int main(void)
{
Serial.begin(9600);
/*
ADMUX |= (0<<REFS1) | (1<<REFS0) | (0<<MUX3) | (0<<MUX2) | (0<<MUX1) | (0<<MUX0);
ADCSRA |= (1<<ADEN) | (1<<ADSC) | (1<<ADATE) |(1<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (1<<ADPS0) | (0<<ADLAR);
ADCSRB |= (0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);
DIDR0 |= (1<<ADC5D) | (1<< ADC4D) | (1<<ADC3D) | (1<<ADC2D) | (1<<ADC1D) | (1<<ADC0D);
sei();
*/
ADMUX |= (1 << REFS0); //INTERNAL REF
ADCSRA |= (1 << ADEN) | (1 << ADSC) | (1 << ADATE) | (1 << ADIE); // ADC ENABLE, START CONVERSION, ENABLE INTERRUPTS
ADCSRB |= (0 << ADTS2) | (0 << ADTS1)| (0 << ADTS0); // FREE-RUNNING MODE
DIDR0 |= (1 << ADC0D); // DISABLE DIGITAL INPUT BUFFER
sei();
while (1)
{
//Serial.print(ADC); // to test it's running
}
}
ISR(ADC_vect) {
Serial.println(ADC); // to test it's running
ADCSRA |= (1<<ADSC);
};