Gast
#2585514
Mit meinem Programm möchte ich AD/Wandeln und anschließend den Mittelwert und die Standardabweichung bilden. Jedoch funktioniert das aus irgendeinem Grund nicht. Beim builden zeigt mein AVR Studio 4 keine Fehlermeldung, jedoch schreibt das Programm im Build Fenster: Data: 264 bytes (103.1% Full) Wie kann das bei so einem kleinem Programm sein? Wo liegt der Fehler. Ich verwende einen attiny45. Hier mein bescheidenes Programm: #define F_CPU 1000000UL #include <avr/io.h> #include <util/delay.h> #include <math.h> int main(void) { unsigned ergebnis, ergebnisalt, i; ADMUX = 0x96; ADCSRA = 0x87; ADCSRB = 0x00; DIDR0 = 0x3F; DDRB = 0x07; ergebnis = 0; ergebnisalt = 0; PORTB |= 0x02; int data [10]; for (i = 0; i < 10; i++) { ADCSRA |= 0x40; while (ADCSRA & 0x40); data [i] = ADCW; } double xm; int sum = 0; for (i=0; i<10; i++) { sum += data[i]; } xm = (double) sum / 10; double stabw = 0; double qsum = 0; for (i=0; i<10; i++) { qsum += pow(data [i] - xm,2); } stabw = sqrt(1.0/9*qsum); if (stabw > 3) PORTB |= 0x01; ergebnis = xm; } Kann mir jemand bei meinem Problem helfen?