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