Gast
#642128
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üß