also das ist der neue Code:
folgende änderungen:Code:#include <avr/io.h> #include <util/delay.h> int main() { unsigned int sample,value; DDRD=0xFF; // PORTD als Ausgabeport ADMUX=(0<<REFS1)|(1<<REFS0); // ADC Ref auf Avcc, PC0 gew?hlt ADCSR=(1<<ADEN)|(1<<ADPS0)|(1<<ADPS1)|(1<<ADPS2); // ADC eingeschaltet, 128 Bit Prescale while(1) { sample=0; ADCSRA|=(1<<ADSC); //ADC aktivieren while(ADCSRA & (1<<ADSC)); //warten bis konvertierung abgeschlosen value = ADCW; //aufsummierung der samplewerte if (value<300) PORTD=0b10000000; //schaltet LED ein else if (value>=300 && value<600) PORTD=0b11000000; //schaltet LED ein else PORTD=0b11100000; //schaltet LED ein } }
mache nun nur noch 1 messung
der prescaler steht nun bei 128 (habe 16MHz an XTAL1 + 2)
werde nun meine Platine mit display löten um die Messwerte mal ausgeben zu können.







Zitieren
Lesezeichen