Forum: Mikrocontroller und Digitale Elektronik LCD ansteuern klappt nur nach Flashen


von Schimmelhirn (Gast)


Lesenswert?

Hallo zusammen,

ich hätt da gern mal ein Problem:

Ich habe an einen ATmega16 ein Display im 4Bit-Modus.
Das ganze hängt an PORTB(0-3) für die 4-Datenbits und an PORTD(0-2) für 
RS/RW/E.
Programmer ist ein USB ISP.
Mein Code initialisert zunächst das LCD und gibt dann auf 2 Zeilen Text 
aus.
Bisher klappt alles wunderbar, solange ich jedesmal neu flashe...
Sobald ich beim µC einen Spannungsreset mache, wird nur noch das Display 
initialisiert, aber keine Zeichen mehr ausgegeben. Flashe ich denselben 
Code neu, macht das LCD wieder was es soll...
Hat da wer von euch nen Verdacht?
Danke schon mal für die Hilfe!

Grüßle, Schimmelhirn

von Rahul D. (rahul)


Lesenswert?

Sieht nach einem Resetpin-Problem aus...

von Schimmelhirn (Gast)


Lesenswert?

Danke für den Hinweis...
Du hattest recht, es ist der Reset-Pin. Wenn der µC Spannung bekommt 
kommt das Programm wie gehabt nur bis zur Initialisierung und vegisst 
den Text auszugeben. Wenn ich danach den RST kurz nach GND ziehe läuft 
es wieder normal.
Aber warum muss ich erst noch mal einen Reset machen? Eigentlich hätte 
ich mir vorgestellt, dass der µC nachdem er Spannung bekommt das ganze 
Programm durchläuft...

von Thorsten (Gast)


Lesenswert?

du gibts dem display nicht genug zeit sein eigenen power-on reset zu 
beenden. daher klappts wohl nur, wenn das display schon vor der init vom 
controller läuft.

warte länger nach dem einschalten bevor du das display initialisiert.

von Andreas Kramer (Gast)


Lesenswert?

Wie ist denn deine momentane Beschaltung ohne Schaltplan könnte man 
natürlich nur raten. Aber annsonnsten kann es sein das das Programm dem 
Display nicht genügend Zeit lässt um sich zu initallisieren und dann den 
Text auszugeben ? Wenn du Resettest bleibt das Display an der Versorgung 
und bekommt dann vieleicht schon initallisiert den Rest deiner Befehle 
mit. Ist allerdings nur eine Idee.

Gruß Andreas

von Schimmelhirn (Gast)


Lesenswert?

danke nochmal für die Anregungen.
Ich hab mal um sicherzugehen das Display an eine andere Versorgung 
gehängt. Nun läuft es dann schon ne ganze Weile bevor ich den µC 
anschalte -> leider gleiches Ergebnis.
Dann hab ich nach dem Initialisieren nen 100ms delay eingebaut -> immer 
noch selbes Ergebnis.

Wenn die Beschaltung hilft: Der Reset-Pin hängt über 5,6kOhm Pull-Up an 
VCC und mit 150nF an GND. Wundert euch nicht über die Werte, ich hatte 
leider nix andres mehr im Haus ;)
Aber gerade wo ich das schreibe hab ich nochmal nachgemessen - am 
Resetpin stehen nur 1,5V... so hab dann mal den ISP abgesteckt und siehe 
da es tut wie es soll! Hat mir der ISP irgendwie die Spannung 
geklaut...grr
Danke noch mal an alle.

Grüße, Schimmel

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
Noch kein Account? Hier anmelden.