- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 3 von 3

Thema: LCD-Lauftext

  1. #1

    LCD-Lauftext

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    kann ich mit LCD-Befehlen erreichen, dass ein Text von links nach rechts
    durchläuft und nach dem Verschwinden wieder links erscheint, Buchstabe
    für Buchstabe? Also so, dass der Text quasi eine Runde dreht.

    Mir ist bekannt, dass man das über einen String mit Leerzeichen an den
    Enden realsieren kann, indem man immer nur einen Teil des Strings
    überträgt und einen Counter mitlaufen lässt.

    Mich würde jetzt interessieren, ob es auch eine Lösung gibt, wenn man
    keine Leerzeichen in den Text einbaut, sondern ohne Tricks die
    LCD-Kommandos bemüht.

    Den Text kann ich ja mit einer Rechtsverschiebung des Displays schonmal
    bis ans Ende durchlaufen kassen. Nur wie lasse ich ihn dann Buchstabe
    für Buchstabe wieder am linken Rand erscheinen?

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    Hi

    Soweit ich weis gibt es diese Möglichkeit mit HD44780-kompatiblen Controllern nicht.
    Eine Möglichkeit, die mir einfällen würde wäre ein 2. String, der den Displayinhalt enthält.
    Den kannst du dann in bestimmten Zeitintervallen verändern und zum Display schicken.

    vlg
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2007
    Alter
    34
    Beiträge
    17
    Mal 'n stück Code als Denkanstoß, allerdings mehr oder weniger nur Pseudocode, da ich keine Ahnung hab, wie man das Display ansteuert.

    Code:
    void Lauftext()
    {
      while(1)
      {
        char tmp;
        char ausgabe[5] = {'H', 'a', 'l', 'l', 'o'}; 
        
        display<<ausgabe;
        
        tmp = ausgabe[0];
        
        for(int i = 0; i <= 6; i++)
        {
          ausgabe[i] = ausgabe [i+1];
        }
    
        ausgabe [4] = tmp;
      }
    }
    Keine Garantie auf Funktionstüchtigkeit. Ist nur so schnell hingeschrieben. Allerdings sollte noch 'n sleep mit rein genommen werden. Sonst rauscht das Ganze durch;

Berechtigungen

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

Solar Speicher und Akkus Tests