danke für deine antwort!
Ich das jetzt nen bisschen umgeschrieben und du hattest recht, task_ADC() startet automatisch und führt für alle kanäle die ad-wandlung durch.
Hier mein neuer code:
Code:void ubat_mess (void) { uint16_t ubat; //Feld für die Anzahl der MESSWERTE uint16_t ubat_ges=0, u_mittel, u_korrekt; uint8_t i; startStopwatch1(); //Stoppuhr wird gestartet if(getStopwatch1() > ZEITZYKLUS) //erreicht die Stoppuhr den Wert so wird die Messung durchgeführt { for(i=0; i<MESSWERTE; i++) //Schleife für definition der einzelnen feldelemente { task_ADC(); ubat = adcBat; //jedes feldelement bekommt einen wert zugewiesen ubat_ges=ubat_ges+ubat; //die gesamtspannung wird ermittelt } u_mittel=ubat_ges/MESSWERTE; // der Mittelwert wird berechnet u_korrekt=u_mittel * 0.9815; //AUSGABE von Batteriespannung writeString_P("Batteriespannung:"); writeInteger(u_mittel, DEC); writeString_P("\n"); writeString_P("Batteriespannung mit Korrektur:"); writeInteger(u_korrekt, DEC); writeString_P("\n"); setStopwatch1(0); } }







Zitieren

Lesezeichen