Rev 29 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 29 | Rev 41 | ||
---|---|---|---|
Line 7... | Line 7... | ||
7 | //############################################################################ |
7 | //############################################################################ |
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 = 0xA5; // Free Run, 125 kHZ |
13 | ADMUX = 7; // Kanal 7 |
13 | ADMUX = 7; // Kanal 7 |
14 | ADCSRA |= 0x40; // Start |
14 | ADCSRA |= 0x40; // Start |
15 | } |
15 | } |
Line -... | Line 16... | ||
- | 16 | ||
16 | 17 | ||
17 | //############################################################################ |
18 | //############################################################################ |
18 | //Strom Analogwerte lesen |
19 | //Strom Analogwerte lesen |
19 | void AdConvert(void) |
20 | void AdConvert(void) |
20 | //############################################################################ |
21 | //############################################################################ |
21 | { |
22 | { |
22 | unsigned int i=0; |
23 | unsigned int i=0; |
23 | unsigned char sense; |
24 | unsigned char sense; |
24 | sense = ADMUX; // Sense-Kanal merken |
25 | sense = ADMUX; // Sense-Kanal merken |
25 | ADMUX = 0x06; // Kanal 6 |
26 | ADMUX = 0x06; // Kanal 6 |
26 | SFIOR = 0x00; // Analog Comperator aus |
27 | SFIOR = 0x00; // Analog Comperator aus |
27 | ADCSRA = 0xD3; // Converter ein, single |
28 | ADCSRA = 0xD2; // Converter ein, single, 1 MHz |
28 | ADCSRA |= 0x10; // Ready löschen |
29 | ADCSRA |= 0x10; // Ready löschen |
29 | ADMUX = 0x06; // Kanal 6 |
30 | ADMUX = 0x06; // Kanal 6 |
30 | ADCSRA |= 0x40; // Start |
31 | ADCSRA |= 0x40; // Start |
31 | while (((ADCSRA & 0x10) == 0)); |
32 | while (((ADCSRA & 0x10) == 0)); |
Line 34... | Line 35... | ||
34 | if(i > 200) i = 200; |
35 | if(i > 200) i = 200; |
35 | Strom = (i + Strom * 7) / 8; |
36 | Strom = (i + Strom * 7) / 8; |
36 | if (Strom_max < Strom) Strom_max = Strom; |
37 | if (Strom_max < Strom) Strom_max = Strom; |
37 | ADCSRA = 0x00; |
38 | ADCSRA = 0x00; |
38 | SFIOR = 0x08; // Analog Comperator ein |
39 | SFIOR = 0x08; // Analog Comperator ein |
39 | } |
40 | } |
40 | - | ||
41 | 41 |