LCD ansteuern klappt nur nach Flashen

Gast #511648
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
Gast #511699
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...
Gast #511701
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.
Gast #511704
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
Gast #511871
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren