Hallo,
Ich hab ein kleine Demo Funktion geschreiben und ich finde den Fehler nicht denn ich bekomme imer nur 000 als Akku Spannung raus.
ich habe ihn in C geschreiben, bitten nicht lachen denn ich hab vorher nur
c++ borland builder, und in c# gecodet.
Der Code ist für den RP6.
Ich brauch nur einen Denkanstoss wo der fehler sein kann.Code:uint16_t SpannungsMessungen[11], Anzahl = 10; // Angabe wie oft gemessen wird ( Pro Funktion aufruf ). uint16_t Spannung = 0, Temp = 0; int AkkuC0 = 0; void AkkuCheck(void) { AkkuC0++; if(AkkuC0 >= 500) // Alle 500 Aufrufe wird die Funktion ausgeführt. { AkkuC0 = 0; for(int Messung = 0; Messung < Anzahl; Messung++) { SpannungsMessungen[Messung] = adcBat; // 10 mal wird die AkkuSpannung gemessen. if(Messung == Anzahl) { for(int Zaehlen = 0; Zaehlen < Anzahl; Zaehlen++) { Temp = Temp + SpannungsMessungen[Zaehlen]; // Die 10 Messwerte werden Addiert. if(Zaehlen == Anzahl) Spannung = Temp / Anzahl; // Die 10 Messwerte werden und 10 geteilt. } } } } // Test ausgabe writeString_P(" || Akku Spannung: "); writeIntegerLength(Spannung, DEC, 3); writeChar('\n'); }
MFG Oliver G







Zitieren

Lesezeichen