Kann jemand mir helfen den Fehler zu finden?

Gast #642128
Lesenswert?
• ▲
▼
Hallo,da ist eine kleine Funkion fürs Testen der Funktionalität des AD 
Wanlders im LPC2294 µC.Die Varibale "Ausgelesenerwert" soll den Wert der 
angelegte Spannung an AIN0(Analog Input 0) angeben.

void adc (void)
{
short data_read=0;
volatile unsigned long Ausgelesenewert;
unsigned long Donebit;
PINSEL1 = 0x15800000;
ADCR=0x1200E01;
while(data_read==0)
{
 Donebit=(ADDR&0x80000000); //Prüfen ob der Done bit gesetzt ist.
 if(Donebit==0x80000000)
{
   Ausgelesenerwert=(ADDR>>6)&0x3FF;      //Der Wert auslesen.
   data_read=1;
}
}
}

int main(void)
{
 while(1)
{
  adc();
 return 0;
}
}

wenn das Programm startet springt es in die if-anweisung jedes mal ,und 
wird der wert ausgelesen aber das ist nicht der Wert der Spannung die 
ich am Input angelegt habe ,erstmal bekomme einen bestimmten wert und 
nach mehrere durchläufe wird die Variable "Ausgelesenerwert" zu 0 und 
dann nach paar durchläufe nimmt sie einen Wert ungleich 0 an ,und dann 
nach paar durchläufe wird sie zu 0 usw... .Kann jemand bitte mir helfen 
?wie bekomme ich die angelegte spannug ausgelesen?????? Danke.

Grüß

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren