Rev 425 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 425 | Rev 461 | ||
---|---|---|---|
Line 19... | Line 19... | ||
19 | volatile int HoeheD = 0; |
19 | volatile int HoeheD = 0; |
20 | volatile char messanzahl_Druck; |
20 | volatile char messanzahl_Druck; |
21 | volatile int tmpLuftdruck; |
21 | volatile int tmpLuftdruck; |
22 | volatile unsigned int ZaehlMessungen = 0; |
22 | volatile unsigned int ZaehlMessungen = 0; |
Line -... | Line 23... | ||
- | 23 | ||
23 | 24 | ||
24 | //####################################################################################### |
25 | //####################################################################################### |
25 | // |
26 | // |
26 | void ADC_Init(void) |
27 | void ADC_Init(void) |
27 | //####################################################################################### |
28 | //####################################################################################### |
28 | { |
29 | { |
29 | ADMUX = 0;//Referenz ist extern |
30 | ADMUX = 0;//Referenz ist extern |
30 | ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(1<<ADIE); |
31 | ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(1<<ADIE); |
31 | //Free Running Mode, Division Factor 128, Interrupt on |
32 | //Free Running Mode, Division Factor 128, Interrupt on |
Line -... | Line 33... | ||
- | 33 | } |
|
- | 34 | ||
- | 35 | ||
32 | } |
36 | //####################################################################################### |
- | 37 | // |
|
33 | 38 | void SucheLuftruckOffset(void) |
|
34 | void SucheLuftruckOffset(void) |
39 | //####################################################################################### |
- | 40 | { |
|
- | 41 | unsigned int off; |
|
- | 42 | off = eeprom_read_byte(&EEPromArray[EEPROM_ADR_LAST_OFFSET]); |
|
- | 43 | if(off > 20) off -= 10; |
|
- | 44 | OCR0A = off; |
|
35 | { |
45 | Delay_ms(100); |
36 | unsigned int off; |
46 | if(MessLuftdruck < 850) off = 0; |
37 | for(off=0; off < 250;off++) |
47 | for(; off < 250;off++) |
38 | { |
48 | { |
39 | OCR0A = off; |
49 | OCR0A = off; |
40 | Delay_ms(50); |
50 | Delay_ms(50); |
41 | printf("."); |
51 | printf("."); |
- | 52 | if(MessLuftdruck < 900) break; |
|
42 | if(MessLuftdruck < 900) break; |
53 | } |
43 | } |
54 | eeprom_write_byte(&EEPromArray[EEPROM_ADR_LAST_OFFSET], off); |
44 | DruckOffsetSetting = off; |
55 | DruckOffsetSetting = off; |
Line 45... | Line 56... | ||
45 | Delay_ms(200); |
56 | Delay_ms(200); |
46 | } |
57 | } |
Line 114... | Line 125... | ||
114 | if(acc_neutral.Z > 600) acc_neutral.Z-= 0.02; |
125 | if(acc_neutral.Z > 600) acc_neutral.Z-= 0.02; |
115 | } |
126 | } |
116 | messanzahl_AccHoch = 1; |
127 | messanzahl_AccHoch = 1; |
117 | Aktuell_az = ADC; |
128 | Aktuell_az = ADC; |
118 | Mess_Integral_Hoch += accumulate_AccHoch; // Integrieren |
129 | Mess_Integral_Hoch += accumulate_AccHoch; // Integrieren |
119 | Mess_Integral_Hoch -= Mess_Integral_Hoch / 1024; // dämfen |
130 | Mess_Integral_Hoch -= Mess_Integral_Hoch / 1024; // dämpfen |
120 | // Mess_Integral_Hoch -= Mess_Integral_Hoch / 512; // dämfen |
- | |
121 | /* if(EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG) |
- | |
122 | { |
- | |
123 | kanal = 3; |
131 | kanal = 3; |
124 | state = 7; |
- | |
125 | } |
- | |
126 | else |
- | |
127 | { |
- | |
128 | kanal = 0; |
- | |
129 | state = 0; |
- | |
130 | }*/ |
- | |
131 | kanal = 3; |
- | |
132 | state = 7; |
132 | state = 7; |
133 | break; |
133 | break; |
134 | case 7: |
134 | case 7: |
135 | tmpLuftdruck += ADC; |
135 | tmpLuftdruck += ADC; |
136 | if(++messanzahl_Druck >= 5) |
136 | if(++messanzahl_Druck >= 5) |
137 | { |
137 | { |