PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Kranker ATMega und LCD???



White_Fox
21.09.2014, 16:10
Mahlzeit

Ich habe einen ATMega644 mit einem LCD verbunden:

LCD AVR
DB0 PC0
DB1 PC1
DB2 PC2
DB3 PC3
DB4 PC4
DB5 PC5
DB6 PC6
DB7 PC7

Nun habe ich festgestellt, dass PC5-PC2 anscheinend defekt sind.
Wenn ich den ganzen Port als Ausgang betreibe und eine 0xFF ins Portregister schreibe, sollte ja an allen Pins HIGH-Level anliegen. An den Pins PC5-PC2 kann ich zwar auch eine geringfügig niedrigere Spannung als an den übrigen Portpins messen sobald diese aber etwas Strom für eine LED liefern müssen bricht die Spannung drastisch ein, da kriegt man keine LED mehr zum leuchten. Am ATMega ist sonst nichts angeschlossen.

Ich vermute, die Ausgangstreiber der jeweiligen Portpins dürften hinüber sein. Mich wundert das, weil der ATMega noch einigermaßen neu ist, insgesamt nur wenig erlebt hat und Unfälle wie Kurzschluss auch noch nicht gesehen hat.

Daraufhin habe ich das LCD mal unter die Lupe genommen. Auf den Datenleitungen fließen Ströme von 10-20mA. Das ist doch nicht normal, oder? Das sollten doch viel weniger sein.

Hat jemand ne Idee, was da los ist und wie das passiert sein könnte?
Ich habe nur noch einen anderen Controller und den möchte ich nicht gern auch noch über den Jordan jagen.

Crazy Harry
21.09.2014, 16:31
Darauf bin ich auch schon rein gefallen: auf den Pins liegt das JTAG-Interface. Einfach per Fuse abschalten.

White_Fox
21.09.2014, 18:00
Dann hat mein ganzes LCD-HickHack also an der JTAG-Schnittstelle gelegen. Ich fall um...

Naja, wieder was dazugelernt. Vielen Dank Harry. Es lag tatsächlich daran.

oberallgeier
21.09.2014, 18:23
Dann hat mein ganzes LCD-HickHack also an der JTAG-Schnittstelle gelegen. Ich fall um... .Ach Du dickes .... - aber ich glaube die Hälfte aller hier, die mit mega16/32-er Verwandten arbeiten ist schon über diese JTAG-Pinns gestolpert.

Searcher
21.09.2014, 18:42
... ich weis auch gar nicht, warum Atmel JTAG standardmäßig eingeschaltet hat :confused:

Crazy Harry
21.09.2014, 19:48
... ich weis auch gar nicht, warum Atmel JTAG standardmäßig eingeschaltet hat :confused:

Atmel hat standardmäßig alle Programmieranschlüsse aktiviert, da die nicht wissen mit was der Endkunde daher kommen wird. Viel nerviger finde ich die Aktivierung der Div8-Fuse.

White_Fox
21.09.2014, 23:03
Mal noch eine Frage für die ich jetzt keinen extra Thread aufmachen will:

Wenn ich ein LCD mit vier Bit ansteuere und Daten auslesen will: Sendet das LCD zuerst das obere oder das untere Nibble?

radbruch
21.09.2014, 23:10
Ich würde nach dem "Busy" suchen. Nach einem "clear"-Befehl, weil der recht lange zur Ausführung braucht.

schorsch_76
22.09.2014, 08:57
@Whitefox: Zuerst da High Nibble.

oberallgeier
22.09.2014, 10:32
... LCD mit vier Bit ansteuere und Daten auslesen will: Sendet das LCD zuerst das obere oder das untere Nibble?Die Antwort hat ja schon schorsch_76 gegeben. So etwas steht im Datenblatt. Beispiel:

... Bi-directional data bus, data transfer is performed once, thru DB0 to DB7, in case of interface data. Length is 8-bits; and twice, thru DB4 to DB7 in case of interface data length is 4-bits. Upper four bits first then lower four bits.