#include #include #include "logging.h" int main() { log_init(); DDRB |= _BV(PB2) | _BV(PB4); TCCR1 = _BV(CS10); // clk/1 = 1 MHz // TCCR1 = _BV(CS11) | _BV(CS13); // clk/512 = 2 kHz GTCCR = _BV(COM1B1) | _BV(PWM1B); OCR1C = 255; OCR1B = 9; ADCSRA = _BV(ADEN) | _BV(ADPS1) | _BV(ADPS0); // clk/8 = 125 kHz ADMUX = _BV(REFS1) | _BV(MUX1) | _BV(MUX0); // 1.1V ref., PB3 single-ended DIDR0 = _BV(ADC3D); ADCSRA |= _BV(ADSC); while (!(ADCSRA & _BV(ADIF))) ; log_word(ADCW); ADCSRA |= _BV(ADSC); while (!(ADCSRA & _BV(ADIF))) ; log_word(ADCW); log_flush(); while(1) { PORTB |= _BV(PB2); _delay_ms(500); PORTB &= ~_BV(PB2); _delay_ms(1000); } }