Gast
#2246748
Hallo, ich habe Probleme mit meinem GCC Programm. Ich will einfach mit einem Poti den Analog-Digital-Converter PC0 meines Atmega8 ausprobieren. Dazu habe ich folgende Beschaltung verwendet: http://www.mikrocontroller.net/wikifiles/9/9e/Adc_connection.png Mein Programm ist folgendes: #include <avr/io.h> int main(void) { int sample,i,value; DDRB=0xFF; // PORTB als Ausgabeport DDRC=0x3E; DDRD=0xFF; ADMUX=0x00; // ADC Ref auf Avcc, PC0 gewählt, normale Formatierung ADCSRA=0x85; // ADC eingeschaltet, Prescale 32 while(1) { sample=0; for(i=0;i<100;i++) { ADCSRA=0x40; //single conversion mode ein while(ADCSRA & (1<<ADSC)); //warten bis konvertierung abgeschlosen sample+=ADCW; //aufsummierung der samplewerte } value=sample/32; //aritmethisches mittel der samplewerte if (value<300) PORTB=0x01; //schaltet rote LED ein else if (value>=300 && value<600) PORTB=0x02; //schaltet gelbe LED ein else PORTB=0x04; //schaltet grüne LED ein PORTD=0xFF; } } Die LEDs sollen dann je nachdem wie das Poti einstellt wird leuchten. Leider leuchtet nur die erste (<300); egal wie ich das Poti justiere. Wer findet meinen Fehler?