Hallo! Ich wollte die Werte meines ADC aufm LCD anzeigen lassen. Dazu habe ich das LCD wie im Tutorial beschrieben an mienen Atmega8 gehängt und normalen Text auszugeben funktioniert wunderbar. Um nun die ADC-Werte in ASCII umzuwandeln jabe ich den Code von Peter Danegger aus der Codesammlung genommen und auf die nötigen Stellen zurückgestutzt. Nun mein Problem, auf dem LCD werden nur komische Zeichen angezeigt (sehen aus wie PI.Zeichen) nicht aber den ADC-Wert. An was könnte das liegen? Ich poste den veränderten Code von Peter mal, wahrscheinlich liegt dort der Bock! Danke für eure Hilfe!
Hab völlig vergessen den Code zu posten! Ich habe es nun geschafft, dass 3 von 4 Ziffern richtig angezeigt werden, doch die letzte kommt falsch raus, wenn zum Beispiel eine 7 stehen sollte, dann ist dort so ein Zeichen das etwa wie ein Prozentzeichen aussiht, jedoch mit waagerechtem Strich. Noch ein Problem: Die drei ersten Ziffern werdn wie oben beschrieben korrekt angezeigt. Nun das Problem der 10bit ADC sollte ja Werte von 0 bis 1023 anzeigen, ich erhalte aber 128x (wobei x dieses Sonderzeichen ist) ist mein ADC kaputt oder sind die ersten 6 Bit im Highbyte des ADC nicht alle null, oder liegt es doch am Code?? Ich habe den Code mal gepostet, falls jemand Lust hat, nur zu! Danke und Gruss
Hi Ste! So sollte es klappen. Denke drann, R30=Low, R31=high ($ff3 !!) MFG Uwe
Uwe hats gefunden, so gehts natürlich nicht: subi r19, -10 - '0' mov r19, r30 Endweder obere Zeile r30 einsetzen oder beide Zeilen vertauschen: mov r19, r30 subi r19, -10 - '0' Solche Fehler kann man aber auch sehr schön mit dem Simulator verfolgen. Peter
Danke!! Habs zwar noch nicht getestet, aber wenn ihr einen Fehler gefunden habt, dann bin ich schon mal froh!! Werds morgen testen!
Also ich hab nun den Fehler ausgemerzt, nun habe ich folgendes Problem, mein ADC bringt nun immer den Wert 1287 (weiss nicht mehr genau, obs wirklich der war, aber mehr als 1023 und dauernd der gleiche, obwohl er ändern sollte) Ist mein ADC im A... oder könnte es an einer fehlerhaften Initialisierung liegen?
Habe vergessen zu schreiben, dass es sich um einen ATmega8 handelt, falls das noch eine Rolle spielen sollte...
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.