2 #include <avr/eeprom.h>
3 #include <util/delay.h>
5 static uint16_t adcval EEMEM;
9 DDRB |= _BV(PB2) | _BV(PB4);
10 TCCR1 = _BV(CS10); // clk/1 = 1 MHz
11 // TCCR1 = _BV(CS11) | _BV(CS13); // clk/512 = 2 kHz
12 GTCCR = _BV(COM1B1) | _BV(PWM1B);
16 ADCSRA = _BV(ADEN) | _BV(ADPS1) | _BV(ADPS0); // clk/8 = 125 kHz
17 ADMUX = _BV(REFS1) | _BV(MUX1) | _BV(MUX0); // 1.1V ref., PB3 single-ended
20 while (!(ADCSRA & _BV(ADIF)))
23 while (!(ADCSRA & _BV(ADIF)))
25 eeprom_write_word(&adcval, ADCW);