ich habe ein Programm geschrieben und laufen lassen auf dem µC lpc2294 fürs auslesen von Analog-Input .Das programm (polling mode) steht unter diesem Link: http://www.standardics.nxp.com/support/documents/microcontrollers/pdf/tn06004.pdf ich habe die Funktion ADC_Read(..) wie sie ist geschrieben aber im main habe ich folgendes geschrieben: int main(void) { while(1) { ADC_Read(1); } } da ich nur der AIN0 benutzen will und keine bildschirm zur Anzeige habe ,aber ich habe die Funktion UART0_init() nicht aufgerufen ?ist es schlimm??? Ich kriege aber Problem:Das Programm liest den Data register (die 10 bits) aber ich bekomme nicht den Wert der Spannug die ich angelegt habe an AIN0 ,sondern faengt es mit irgendwelches positiven wert und nach paar durchläufe wird geaendert bis der zurückgegebene wert zu 0 wird.Hat jemand eine Idee woran es liegen könnte?Außerdem steht im Datasheet des LPC2294 dass in den 10 bits ein Verhaeltnis zwischen der angelegte Spannug mit der Spannung an dem VddA pin steht,aber was ist der VddA pin und wie groß sein Wert sein soll ,ich habe danach gesucht gesucht im Datasheet aber habe keine klare antwort dafür gefunden???und wieso aendert sich der zurückgegebene Wert jedes mal die Funktion aufgerufen wird und dieser Wert zu 0 wird??Kann jemand mir bitte helfen ??????? Danke. Grüß.
10 Bit Auflösung machen 2 hoch 10 = 1024 verschiedene Werte, d.h. für 0 Volt bekommst du '0', für deine Referenzspannung (i.A. 5V) bekommst du dann 1023. Woher weißt du den Wert des/der Register(s), wenn du kein Display hast bzw. nicht am PC (UART) angeschlossen ist?
Danke für die schnelle Antwort :).Ich habe einen spannugsgenertor an den Pin angeschlossen ,und eine masse an einem GND auch.Ich dachte ich kann die Werte duch den debbuger erkennen:wenn ich das Verhaeltnis zwischen der angelegten Spannung und der VddA(aber was ist die VddA?),durch die Auflösung von 10 bit ausrechne und dann vergleiche ob es mit dem Wert im debbuger übereinstimmt.Oder meinste du dass ich muss erstmal UART configurieren damit es klappt?Aber noch eine Frage ,wieso aendert dich der Wert des zurückgegebenen Wert beim jeden durchlauf bis es zu 0 kommt? Danke. Grüß
Ja, das ist wichtig, dass die Massen die Gleichen sind!! Dein VddA ist eben die Referenzspannung, die am µC natürlich auch beschaltet werden muss! Meist ist das die Versorgungsspannung (5V) des µCs, nur noch ein bisschen geglättet. Sprich, bei 10 Bit = 1024 Werte und URef=5 V hast du pro Bit einen Spannungssprung von rd. 4,88mV. D.h. hast du 0 als ADC-Wert, sind 0V angelegt, bei 1 4,88mV, bei 2 9,72mV usw. Wenn's nicht funktioniert, wie du sagst, solltest du kontrollieren, ob alles richtig beschalten ist. Und ob das Programm korrekt ist (was ich mal annehme). Ob der Wert mit dem Debugger auch auslesbar ist, weiß ich nicht.
Danke für deine Antwort .Ich werde es ausprobieren.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.