www.mikrocontroller.net

Forum: Compiler & IDEs Backslash am Display ausgeben


Autor: F. Gruber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo forum,

Habe ein Standarddsisplay mit HD44780U Controller am Atmega 8 hängen. 
Nutze die LCD Routinen von Peter Fleury.

Versuche nun mit

lcd_putc('\');
bzw.
lcd_putc(0x5C);

einen Backslash auf dem Display auszugeben. Doch anscheinend 
interpretiert das Display diesen Backslash (ASCII = 0x5C) als 
Steuerzeichen oder was auch immer. Jedenfalls erscheint nur ein 
kryptisches Zeichen an dieser Stelle.

Alle anderen Zeichen funktionieren bestens.

Hat jemand ne Ahnung ob das Möglich ist?

Gruß, F. Gruber

Autor: Borsty (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.ortodoxism.ro/datasheets/HitachiSemicon...

Seite 18/61

Der Zeichensatz enthält leider kein Backslash von sich aus.
Das musst du dir leider selbst erzeugen (CG-RAM)

Autor: F. Gruber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mhm ich versuche verzweifelt eigene Zeichen ins Display zu bekommen.
Irgendwie scheint der Controller aber nicht auf das Kommando

extern void lcd_command(uint8_t cmd);

aus Peter Fleurys Routinen zu reagieren...

Schicke ihm die Adresse vom GCRAM und dann für jede Zeile ein Byte. Laut 
Datenblatt inkrementiert der Controller ja selber die GCRAM Adresse nach 
jedem Byte. Anschließend setzte ich den Curser mit lcd_home() wieder in 
den sichtbaren Adressbereich.

Wenn ich versuche ein Zeichen mit lcd_putc(0x00) auszugeben passiert 
nichts...

Hat da jemand ne Idee wo der Haken sein könnte? Betreibe das Display im 
bit I/O Mode.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> lcd_putc(0x00)

Was meinst Du, was das für ein Zeichen an das Display ausgibt?

Autor: F. Gruber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Laut Datenblatt liegen in den ASCII Codes 0x00 bis 0x07 die 
selbstefinierten Zeichen!!!

Hier mal mein codeschnipsel:
lcd_command(64);      //GCRAM Adresse für das erste Zeichen(0x00)
lcd_putc(0b10101010); //Zeile 1
lcd_putc(0b10101010); //Zeile 2
lcd_putc(0b10101010); //Zeile 3
lcd_putc(0b10101010); //Zeile 4
lcd_putc(0b10101010); //Zeile 5
lcd_putc(0b10101010); //Zeile 6
lcd_putc(0b10101010); //Zeile 7
lcd_putc(0b10101010); //Zeile 8
lcd_home();
lcd_putc(0x00);

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.