Eigenes Zeichen für ein LC-Display

OP #3248127
Lesenswert?
• ▲
▼
Hallo zusammen,
ich habe momentan ein Problem mit mir eingene Zeichen für mein 
LC-Display zu erstellen. Ich komme jetzt schon seit Tagen nicht mehr 
weiter und bräuchte ein wenig unterstützung. Mein Problem ist folgendes:

Ich habe ein 16x2 LCD mit einem HD44780 Chipsatz. Dieses Display steuer 
ich über einem ATmega32 mit 4-Bit an. Den Mikrocontroller programmiere 
ich in C und verwende die "lcd-routines.h" - Bibliothek von deiser 
Seite. Die Ausgabe von einzelnen Character oder Strings funktioniert 
super. Ich verwende diese Methode zur erstellung eines Zeichens:

void lcd_generatechar( uint8_t code, const uint8_t *data )
{
  lcd_command( LCD_SET_CGADR | (code<<3) );

  for ( uint8_t i=0; i<8; i++ )
  {
    lcd_data( data[i] );
  }
}

Wenn ich das richtig verstanden habe, dann teile ich dem Display über 
den Befehl die Startposition des Zeichens an. Gleichzeitig sage ich ihm 
damit, dass ich auf dem CG-RAM schreiben möchte. Im Anschluss übermittel 
ich dann mein Datenarray. Mein Programmversuch sieht momentan so aus:

#include <avr/io.h>
#include <util/delay.h>
#include "lcd-routines.h"

#define F_CPU 8000000

unsigned char array [8] = {0x0A,0x0A,0x1F,0x11,0x11,0x0E,0x04,0x04};

int main(void)
{
    lcd_init();

    while(1)
    {
    lcd_generatechar(0, array);

    _delay_ms(500);
    lcd_home();
    }
}

Wenn ich es so versuche bleibt mein Diplay leider leer. Kann mir Jemand 
sagen was ich genau falsch mache? Oder liegt es daran, dass ich mit der 
Simulationssoftware ISIS-Proteus arbeite? Ich hatte aber vorher keine 
Probleme damit gehabt. Ich habe jetzt auch schon einige Foren durchsucht 
baer leider ohne Erfolg. Vielen Dank schon im Vorraus.

Gruß
Schirmo
Gast #3248163
Lesenswert?
• ▲
▼
Du mußt das Zeichen nicht nur definieren, sondern auch anzeigen.
Momentan sagst du nur dem LCD-Controller, wie das neue Zeichen aussehen 
soll. Aber du machst keine einzige Ausgabe, wo dieses Zeichen benutzt 
wird.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.