]> git.tdb.fi Git - model-railway-devices.git/blob - common/adc.c
Somre more common facilities
[model-railway-devices.git] / common / adc.c
1 #include "adc.h"
2
3 #define BIT(n) (1<<(n))
4
5 void adc_init()
6 {
7         // TODO Adjust ADPS bits according to F_CPU
8         ADMUX = BIT(REFS0);
9         ADCSRA = BIT(ADEN) | BIT(ADIE) | BIT(ADPS2) | BIT(ADPS1) | BIT(ADPS0);
10         ADCSRB = 0;
11         DIDR0 = 0x3F;
12 }
13
14 void adc_read_async(uint8_t chan)
15 {
16         ADMUX = (ADMUX&0xF0) | (chan&0x0F);
17         ADCSRA |= BIT(ADSC);
18 }