Rev 63 | Rev 90 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 63 | Rev 73 | ||
---|---|---|---|
Line 8... | Line 8... | ||
8 | //Init ADC |
8 | //Init ADC |
9 | void ADC_Init(void) |
9 | void ADC_Init(void) |
10 | //############################################################################ |
10 | //############################################################################ |
11 | { |
11 | { |
12 | ADCSRA = 0xA6; // Free Run & 1MHZ |
12 | ADCSRA = 0xA6; // Free Run & 1MHZ |
13 | ADMUX = 7; // Kanal 7 |
13 | ADMUX = 7 | IntRef; // Kanal 7 |
14 | ADCSRA |= 0x40; // Start |
14 | ADCSRA |= 0x40; // Start |
15 | } |
15 | } |
Line 16... | Line 16... | ||
16 | 16 | ||
17 | //############################################################################ |
17 | //############################################################################ |
Line 20... | Line 20... | ||
20 | //############################################################################ |
20 | //############################################################################ |
21 | { |
21 | { |
22 | unsigned int i=0; |
22 | unsigned int i=0; |
23 | unsigned char sense; |
23 | unsigned char sense; |
24 | sense = ADMUX; // Sense-Kanal merken |
24 | sense = ADMUX; // Sense-Kanal merken |
25 | ADMUX = 0x06; // Kanal 6 |
25 | ADMUX = 0x06 | IntRef; // Kanal 6 |
26 | SFIOR = 0x00; // Analog Comperator aus |
26 | SFIOR = 0x00; // Analog Comperator aus |
27 | ADCSRA = 0xD3; // Converter ein, single |
27 | ADCSRA = 0xD3; // Converter ein, single |
28 | ADCSRA |= 0x10; // Ready löschen |
28 | ADCSRA |= 0x10; // Ready löschen |
29 | ADMUX = 0x06; // Kanal 6 |
29 | ADMUX = 0x06 | IntRef; // Kanal 6 |
30 | ADCSRA |= 0x40; // Start |
30 | ADCSRA |= 0x40; // Start |
31 | while (((ADCSRA & 0x10) == 0)); |
31 | while (((ADCSRA & 0x10) == 0)); |
32 | ADMUX = sense; // zurück auf den Sense-Kanal |
32 | ADMUX = sense; // zurück auf den Sense-Kanal |
33 | i = ADCW * 4; |
33 | i = ADCW * 4; |
34 | // if(i > 300) i = 300; |
34 | // if(i > 300) i = 300; |
Line 45... | Line 45... | ||
45 | unsigned int MessAD(unsigned char channel) |
45 | unsigned int MessAD(unsigned char channel) |
46 | //############################################################################ |
46 | //############################################################################ |
47 | { |
47 | { |
48 | unsigned char sense; |
48 | unsigned char sense; |
49 | sense = ADMUX; // Sense-Kanal merken |
49 | sense = ADMUX; // Sense-Kanal merken |
- | 50 | channel |= IntRef; |
|
50 | ADMUX = channel; // Kanal 6 |
51 | ADMUX = channel; // Kanal 6 |
51 | SFIOR = 0x00; // Analog Comperator aus |
52 | SFIOR = 0x00; // Analog Comperator aus |
52 | ADCSRA = 0xD3; // Converter ein, single |
53 | ADCSRA = 0xD3; // Converter ein, single |
53 | ADCSRA |= 0x10; // Ready löschen |
54 | ADCSRA |= 0x10; // Ready löschen |
54 | ADMUX = channel; // Kanal 6 |
55 | ADMUX = channel; // Kanal 6 |