]> www.fi.muni.cz Git - bike-lights.git/blobdiff - lights.c
ADC experiments
[bike-lights.git] / lights.c
index 18eef189e6ca9d3134613a906deedfcf5b661aac..49bf4ce6e23f3219f4371bb7119944325d2e8b30 100644 (file)
--- a/lights.c
+++ b/lights.c
@@ -1,8 +1,29 @@
 #include <avr/io.h>
+#include <avr/eeprom.h>
 #include <util/delay.h>
 
+uint16_t adcval EEMEM;
+
 int main(void)
 {
+       TCCR1C = _BV(COM1D0) | _BV(COM1D1) | _BV(PWM1D);
+       TCCR1A = _BV(PWM1A) | _BV(PWM1B);
+       TCCR1B = 0x80 | _BV(CS13) | _BV(CS12);
+       OCR1C = 0xFF;
+       OCR1D = 0x20;
+       TCNT1 = 3;
+       DDRB |= _BV( PB5 );
+       PORTB &= ~_BV( PB5 );
+
+       ADCSRA = _BV(ADEN) | _BV(ADATE) | _BV(ADPS1) | _BV(ADPS0);
+       ADMUX = _BV(REFS1) | _BV(MUX0);
+       ADCSRB = _BV(REFS2);
+       DIDR0 = _BV(ADC1D) | _BV(AREFD);
+
+       ADCSRA |= _BV(ADSC);
+       _delay_ms(1000);
+       eeprom_write_word(&adcval, ADCW);
+
     DDRA |= _BV( PA0 );
     while( 1 ) { 
         PORTA |=  _BV( PA0 );