- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 11

Thema: LCD Störungen nach Atmega Reset

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.704
    ... wenn's ein Problem mit den undefinierten Pegeln ist, sollte es genügen den E Pin per Pulldown ... auf definierten Pegel zu legen ...
    Wenn - dann wohl ein Pulldown.

    Probleme kenne ich massenhaft, aber praktisch nie mit den LCDisplays. Meine Anschlüsse sind üblicherweise RW (ja, keine Busyabfrage, leider) und DB0 bis DB3 auf GND, EN, RS und DB4 bis DB7 "schwimmen" - sprich: sind auf Pinne gezogen - ohne externe Beschaltung. Trotzdem kann ich beliebig oft, lange oder kurz auf den /RES-Taster des Controllers drücken, das LCD (Display-Elektronik DEM16216SYH-LY) und auch das Billigst-LCD von Pollin für ein knappes Flöckchen wird stets ordnungsgemäß hochgefahren.

    MÖGLICHerweise kann eine längere Hochfahrspanne in den Fuses eingestellt werden ! ? Damit hatte ich bei andern Gelegenheiten schon langwierig verfolgte Seltsamfehler beheben können
    Ciao sagt der JoeamBerg

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    05.01.2014
    Beiträge
    23

    Korrektur gefunden, Code erweitert

    Hallo zusammen,

    oberallgeier:
    Wenn - dann wohl ein Pulldown.
    Ja, das habe ich auch so gemacht und desweiteren:

    DB0 bis DB3 auf GND, EN, RS und DB4 bis DB7 "schwimmen" - sprich: sind auf Pinne gezogen - ohne externe Beschaltung.
    Ja, ist bei mir auch so, ich habe zwar ein bisschen mit Ablockkondensatoren gespielt (!?), aber das half auch nichts.
    Ich habe aber meinen Fehler gefunden, der genau diese Situation beschreibt:

    Your problem is that the display keeps its state during MCU reset. When cold-booting, the initial data mode is 8-bit which you immediately switch to 4-bit which reads data with a pair of EN pulses.
    When you reset the MCU, you do not know whether even or odd number of EN pulses were sent. So you have to somhow reset the display even if it does not have reset pin.
    This can be done by sending 0x33 0x33 (in 8-bit mode it will mean 4-times switch to 8-bit, in 4-bit mode it will mean once or twice switch to 8-bit). Then you can be sure that you always start from the same state.
    Then proceed with regular 0x32 (or 4-bit 0x02 if you have single 4-bit write function), 0x28 to get into 4-bit 2-line mode.
    Quelle: http://electronics.stackexchange.com...2a-lcd-display

    Was soll ich euch sagen, genau das ist mein Problem, sobald ich das Command, 2x 0x33 sende, ist der Fehler auch beim Reset der MCU weg.
    Ich muss nur noch einmal schauen, was da passiert, vor allem woher die Kommandos kommen, in den Datenblättern von Pollin steht nicht viel.
    Das Datenblatt vom HD44780 ist mir noch nicht ganz geläufig bzw. noch verstehe ich nicht wie das Kommando zustande kommt.

    Danke für die Hinweise und Infos!

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Zitat Zitat von chrisavr1981 Beitrag anzeigen
    sobald ich das Command, 2x 0x33 sende, ist der Fehler auch beim Reset der MCU weg.
    Das ist genau die Initialisierung per Befehl (genauer: mehrmaliger Befehl); die findest du als Ablaufdiagrammm -ziemlich sicher- in allen Datenblättern zu HD44780 und kompatiblen Controllern, weil sie so elementar ist: Diese Befehlsfolge erlaubt es zu jeder Zeit, den LCD-Controller zu resetten, falls der Power-Up-Reset nicht geklappt hat oder (siehe dein eigenes Zitat) der µC einen Warmstart vollzogen hat (Brown Out, Reset). Und das passt auch ganz genau auf dein Fehlerbild! Folglich tut man gut daran, den 'Reset per Befehl' ohne Wenn und Aber in die Initialisierung des Systems einzubauen. Wartezeiten im zig-Millisekundenbereich sind dabei einzuhalten, tun aber bei einem System mit Human Interface nicht wirklich weh -sie werden ohnehin von der Trägheit des Flüssigkristalls überdeckt.

    Zitat Zitat von chrisavr1981 Beitrag anzeigen
    Ich muss nur noch einmal schauen, was da passiert, vor allem woher die Kommandos kommen, in den Datenblättern von Pollin steht nicht viel.
    Das Datenblatt vom HD44780 ist mir noch nicht ganz geläufig bzw. noch verstehe ich nicht wie das Kommando zustande kommt.
    Es ist nicht schädlich, ein Datenblatt zumindest diagonal gelesen zu haben, auch wenn es hundert oder mehr Seiten sein sollten. Das gibt in Fällen wie deinem Anhaltspunkte, wonach man suchen kann und was z.B. zwingend für die Funktionalität eines Chips erforderlich ist.

    Und zuletzt: Frohe Weihnachten !!!

Ähnliche Themen

  1. [ERLEDIGT] Atmega 644 & atmega8 parallel am ISP ... Reset beider atmega notwendig ..
    Von Ritchie im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 29.03.2013, 11:18
  2. [ERLEDIGT] I2C Bus läuft nach Kaltstart des atmega nicht aber nach reprogrammiert via ISP
    Von Ritchie im Forum AVR Hardwarethemen
    Antworten: 0
    Letzter Beitrag: 07.07.2012, 14:53
  3. Störungen bei langem Kabel zum LCD
    Von Bääääär im Forum Elektronik
    Antworten: 21
    Letzter Beitrag: 14.01.2009, 22:05
  4. Verhalten LCD am I2C nach Reset und "initlcd"
    Von highbeta im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 15.12.2007, 15:25
  5. Problem nach RESET
    Von bombatz im Forum Assembler-Programmierung
    Antworten: 7
    Letzter Beitrag: 12.08.2006, 11:10

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test