-         

Ergebnis 1 bis 8 von 8

Thema: Pollin Display Wintek 4x27

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    06.01.2007
    Beiträge
    7

    Pollin Display Wintek 4x27

    Anzeige

    Hallo

    Habe ein heftiges Problem mit dem o.g. Display. Ich hoffe es hat hier schon mal jemand so ein Problem gehabt und kann mir helfen.
    Das Programm ist im Anhang gepackt.
    Die Initialisierung des Display und die AnzeigeRoutinen vor der Endlosschleife klappen wunderbar.
    Die Probleme fangen erst an wenn wenn die Subroutinen durch einen der Debounce-Befehle angesprochen werden.
    Dann werden teilweise die Inhalte der oberen DisplayHälfte in der unteren dargestellt, aber leider auch nicht immer. Meist taucht aber auch nur der Text der oberen Hälfte kurz in der unteren auf und wird dann mit dem richtigen Text überschrieben, was aber auch nicht wirlich schön ist.
    Jens
    [/code]
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Wie groß sind deine Stacks? Evtl. mal vergrößern.

    Gruß

    Rolf

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    06.01.2007
    Beiträge
    7
    Danke für die schnelle Antwort.
    Die momentanen Werte sind:
    HW-Stack:32
    Soft-Stack:8
    Framesize:16

    Woher weiß man eigendlich welche Werte einzustellen sind?? Was sind die Maximalen Werte und welche Auswirkung hat es, wenn man die Werte zu hoch einstellt???
    Habe bisher kaum eine brauchbare Info in der Hilfe oder im Netz gefunden.

    Werde morgen einfach mal mit anderen Werten testen.

    Jens

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    man kann die Werte so gross einstellen bis der RAM voll ist

    Wieviel belegt ist, sieht man nach dem compilieren in der Reportdatei.
    Wenn genug übrig ist, kann man ruhig alle Werte vergrössern, um auf der sicheren Seite zu sein.
    Nachrechnen muss man nur, wenn man verschachtelte Subs aufruft, denn dann multipliziert sich Framesize.

  5. #5
    Hallo,

    ich verwende auch dieses Display am ATmega32 und 644.
    Man muss die Lib "lcd4e2.lbx" includieren. Im Source der Lib ist die Konfiguration zu beachten:
    ##########
    ;the default library for Bascom can handle worst case scenarios where each pin of the LCD
    ;is connected to a random pin of the micro
    ;When we choose the data port pin in sequence, we can save some code
    ;This lib shows how to use the LCD in 4 bit mode with 2 E lines !

    ;Rs = PortB.0
    ;RW = PortB.1 we dont use the R/W option of the LCD in this version so connect to ground
    ; E = PortB.2
    ;E2 = PortB.3 for lcd with 2 chips
    ;Db4 = PortB.4 the data bits must be in a nibble to save code
    ;Db5 = PortB.5
    ;Db6 = PortB.6
    ;Db7 = PortB.7



    ;This routine is called when the LCD must be initialized
    ;dont forget to dimension a byte named ___LCDE
    [_Init_LCD]
    .EQU LCDDDR=$17 ; change to another address for DDRD ($11)
    .EQU LCDPORT=$18 ; change to another address for PORTD ($12)
    ############

    Allso alle Pins des LCDs müssen an den gleichen PORT.
    Hier ein auszug aus meinem Bascom Source:
    '##########################################
    'Einbindung der LCD-Bibliothek für ein 2-Prozessor-Display
    ' Hier speziell für den atmega644 und PortB ansonsten lcd4e2.lbx
    $lib "lcd4e2-644.lbx"
    '##########################################

    '####### New LCD Config 4x27 Zeichen ###########
    'man achte auf die Ergänzung E2
    Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.2 , E2 = Portb.3 , Rs = Portb.0
    Dim ___lcde As Byte
    ___lcde = 0
    Config Lcd = 40 * 4
    Config Lcdbus = 4 '4 Bit Modus
    Cursor Off Noblink 'LCD = Cursor aus

    #################

    Ich hoffe das hilft weiter.
    PS: Und nicht vergessen RW vom LCD auf Ground

    Gruß mr_energy

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    21.02.2007
    Beiträge
    38
    Hallo Jens,

    ich benutze genau dieses Display jetzt schon eine ganze Weile und steuer es genauso an wie Du auch. Funzt bestens.

    Sind Deine Verbindungen zum Display einwandfrei? Wackelkontakte, kalte Lötstellen oder leichte Übergänge zwischen den Pins???!!!

    WAS mir sehr zu denken gibt:

    Deine Subroutine Display_unten besitzt kein RETURN!!! Nach ihrem Aufruf wird also nicht korrekt zum Hauptprogramm zurückgesprungen!

    Meckert da nicht schon Dein Compiler??? Da ich jedoch noch ziemlich neu bin bei den Micros, kann ich nicht ganz nachvollziehen, wie das Programm ohne das Return weiterläuft. Ich schätze mal, daß es in das Label der ISR weiterläuft, danach erst zurückspringt und dadurch sehr ungewollte Ergebnisse produziert!!!

    Hab aus Neugier gerade mal Dein Programm compiliert. Tatsächlich ohne Fehler. Überprüft der Compiler nicht, ob vor einem folgenden Label ein Return steht??

    Vielleicht bin ich ja auch auf dem Holzweg. Mal gespannt was die Profis so sagen!

    Gruß Hackes.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    06.01.2007
    Beiträge
    7
    Habe es mal mit verdoppelten Stackwerten versucht - Leider ohne Erfolg

    @Hackes:
    Du hast recht da fehlt wirklich das Return - und der Compiler hats nicht gemerkt . Muß wohl bei meinen diversen Versuchen abhanden gekommen sein. Aber auch mit Return klappts nicht. Leider.

    @mr_energy:
    Das mit der LIB werde ich noch ausprobieren. is auf jeden Fall nen Versuch wert.

    Danke Euch allen für eure Ideen - weiter so

    Jens

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    06.01.2007
    Beiträge
    7
    Hab mir jetzt mal die Lib genauer angeschaut.
    Versteh ich das recht, das man sich genau an die Pin-Belegung wie in der Lib angegeben halten muß oder kann man diese mit config LCDPin noch ändern (vorausgesetzt das alle auf einem Port sind und die Datenleitungen dort bleiben wo sie sind)???

    Jens

Berechtigungen

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