Moin Izaseba und die anderen
Ich hab mal wieder ein Problem (was auch sonst).
Ich hab mir jetzt endlich mal den ADC vorgenommen.
Wenn ich brennen will, kommen 2 Fehlermeldungen:
main.c:19: error: called object is not a function
main.c:32:4: warning: no newline at end of file
und hier ist mein Code:
Ich möchte eigentlich erreichen, das der ADC eingang die ganze Zeit ausgelesen wird und es soll eine LED eingeschaltet werden sobald die Spannung 2,5V übersteigt bzw. erreicht.Code:#include <avr/io.h> #include <stdint.h> #define F_CPU 1000000UL int main(void) { DDRC |= (1<<PC0); uint8_t x; ADCSRA = (1<<ADEN); //Damit ist der Converter gestartet ADCSRA = (1<<ADSC); //hiermit wird die Messung initialisiert und gestartet ADCSRA = (1<<ADATE); //hier wird auf freilaufmodus geschaltet da im SFIOR-Register kein Auslöser //(Trigger) eingestellt ist die Daten werden von jetzt an im ADC-Data- //Register gespeichert ADCSRA = ((1<<ADPS0) | (1<<ADPS1)) //Hier wird dem ADC Prescaler ein teilungsfaktor von 8 //gegeben, das bedeutet es ist dem ADC eine frequenz von //1.000.000 durch 8 also 125kHz im Tutorial steht das der //ADC eine Frequenz von 50 bis 200 kHz gegeben haben soll ADMUX = PA0; //hier is C:19 while(1) { x = ADCW; //hier wird das ADC-Register ausgelesen if (x >= 128) //wenn der gemessene Wert die 128 erreicht oder überschreitet soll die LED //an PC0 leuchten also wenn die Spannung die hälfte von 0V zu AREF //(hier 2,5V) überschreitet { PORTC |= (1<<PC0); } } } //hier ist c:23:4
Bis bald,
MfG Jan







Zitieren


Lesezeichen