CGRAM beschreiben

#1643244
Lesenswert?

Es gibt ja schon ein paar Themen hier die dieses behandeln. Hab sie mir 
auch alle durchgelesen.
Bräuchte aber nochmal hilfe.

Ich habe bis vor kurzem noch die LCD-Lib von Fleury verwendet um 
selbsdefinierte Zeichen ins LCD-RAM zu schreiben.
Die kann ich aber jetzt nicht mehr anwenden weil ich auf ein DOGM LCD 
umgestiegen bin.

Jetzt meine Frage, wie bekomme ich meine eigenen Zeichen ins CGRAM?

Die Tabelle hab ich schon:
1
static const unsigned char symbol[] PROGMEM =
2
{
3
  0x90, 0x98, 0x9C, 0x9E, 0x9C, 0x98, 0x90, 0x80,
4
  0x00, 0x0A, 0x1B, 0x1B, 0x03, 0x1F, 0x0E, 0x00,
5
  0x1F, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1F,
6
  0x00, 0x0A, 0x1F, 0x1F, 0x1F, 0x0E, 0x04, 0x00,
7
  0x15, 0x0E, 0x15, 0x0E, 0x04, 0x04, 0x04, 0x00,
8
  0x04, 0x0E, 0x1F, 0x11, 0x11, 0x11, 0x1F, 0x00,
9
  0x04, 0x0E, 0x1F, 0x04, 0x04, 0x04, 0x04, 0x00,
10
  0x04, 0x04, 0x04, 0x04, 0x1F, 0x0E, 0x04, 0x00
11
};
#1643275
Lesenswert?

Es gab einen erweiterten Befehlssatz:
1
/* Store individual character from flash on cgram */
2
extern void lcd_putc_cgram_p(const char *progmem_s, unsigned char _position);
3

4

5
/* print string from EEPROM */
6
extern void lcd_puts_eep(const unsigned char *eep); 
7

8

9
/* Store individual character from EEPROM on cgram */
10
extern void lcd_putc_cgram_eep(const unsigned char *eep, unsigned char _position);

Ausschlaggebend dafür ist die Funktion "lcd_command"
Die wiederum die Funktion "lcd-Write" nutzt.

Verwendet habe ich immer diese Funktion:
1
/* Store individual character from flash on cgram */
2
void lcd_putc_cgram_p(const char *progmem_s, unsigned char _position)
3
{
4
  lcd_command((1<<LCD_CGRAM)+_position*8);
5
  register char c;
6
  register char x1;
7
    for (x1=0;x1<=7;x1++)
8
  { 
9
    (c = pgm_read_byte(progmem_s++));  
10
        lcd_putc(c);
11
}
12
  lcd_clrscr();
13
}

vielleicht gehts einfacher.
Gast #1643290
Lesenswert?

Manfred W. schrieb:
> versucht noch nichts.

Dann versuch es mal.

Manfred W. schrieb:
> In der Fleury gibts ja eine fertige Funktion die das macht.

Na dann...

Manfred W. schrieb:
> "Einfach reinschreiben" is ja nicht.

Warum?

Manfred W. schrieb:
> vielleicht gehts einfacher.

Was ist daran zu kompliziert?

Wir geben Dir gerne Hilfe zur Selbsthilfe. Aber versuchen, lesen und 
verstehen musst Du selbst.
Gast #1643669
Lesenswert?

Manfred W. schrieb:
> Muß ich denn wirklich alle funktionen von der Lib übernehmen?

Nein. Lass doch die weg, die Du nicht brauchst.

Manfred W. schrieb:
> Darum die Frage obs auch einfacher geht.

Was hier einfach fehlt ist eine saubere und vollständige 
Problembeschreibung.

Und im Zusammenhang mit diesem Forum solltest Du zeigen, das Du Dich 
selbst nachhaltig bemühst das Problem selbst zu lösen und nur das zu 
fragen, was Du bei diesen Bemühungen nicht selbst lösen kannst.

Das einfache "Hilfe" rufen ist vielleicht ausreichend, wenn wir Dich in 
einiger Entfernung vom Strand im Wasser mit den Armen rudern sehen. Da 
werden wir unter Inkaufnahme eines möglichen Irrtums erstmal zu Dir 
hinschwimmen und erst wenn wir Dich am Ufer haben fragen was denn 
passiert ist. Aber hier brauchen wir einfach mehr Informationen.
Gast #1643948
Lesenswert?

Manfred W. schrieb:
> Ich hoffe immer noch auf Tips "wie" man das CGRAM beschreibt.

Den haben wir Dir schon gegeben. Schreib einfach rein.

Erwartest Du im Ernst von uns, das wir Dir hier ein fertiges Programm 
liefern?
Entweder antworten hier Hobbyisten, die sich natürlich nur mit dem 
beschäftigen was sie selbst auch interesiert. Oder es sind Profis die 
dafür bezahlt sein wollen. Beide aber helfen Dir hier sehr gerne Dir 
selbst zu helfen.

Aber: Ich wiederhole mich und werde mich dann raushalten bis Du 
substantielle Informationen lieferst und Benühungen zeigst, das Problem 
selbst zu lösen.

Grrrr schrieb:
> Und im Zusammenhang mit diesem Forum solltest Du zeigen, das Du Dich
> selbst nachhaltig bemühst das Problem selbst zu lösen und nur das zu
> fragen, was Du bei diesen Bemühungen nicht selbst lösen kannst.
>
> Das einfache "Hilfe" rufen ist vielleicht ausreichend, wenn wir Dich in
> einiger Entfernung vom Strand im Wasser mit den Armen rudern sehen. Da
> werden wir unter Inkaufnahme eines möglichen Irrtums erstmal zu Dir
> hinschwimmen und erst wenn wir Dich am Ufer haben fragen was denn
> passiert ist. Aber hier brauchen wir einfach mehr Informationen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren