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:
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
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.
Bis bald,
MfG Jan
Lesezeichen