Eigenes Zeichen für ein LC-Display

OP #3248127
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
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

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.