Grafikdaten für LCD in C

Gast #91306
Lesenswert?

Achja, und wenn du die Möglichkeit hast XPM Grafiken zum machen, da
steht das schon im File fast richtig drinn:


static char * compass_xpm[] = {
"50 50 768 2",
"       c None",
".      c #AC956C",
"+      c #A59267",
"@      c #9F8C61",
"#      c #9A8563",

Da musst halt noch ein bisserl rauslöschen, dann gehts.
Gast #91308
Lesenswert?

Es geht also nur über Arrays ?
Schade, da muss ich halt schnell mal ein QBASIC Programm schreiben,
dass mir BMPs in *.h Dateien umwandelt und gleich Arrays schreibt.
Per Hand schreibe ich jedenfalls keine 76800 Bytes...
Gast #91310
Lesenswert?

Noch eine letzte Frage:
Wie vermeide ich, dass der Compiler das Array als eine Variable sieht
und diese ins RAM läd ? Es reicht, wenn das Array als Konstante im
Programmspeicher bleibt. const vor dem Array funktioniert aber nicht...
Gast #91313
Lesenswert?

Hi

ach du redest vom NC30 und M16C. Ich bin jetzt vom AVRGCC ausgegangen
da  der hier deutlich in der Mehrheit ist. Der NC30 in Version 5.0
sollte Variablen mit dem const qualifier eigentlich automatisch ins ROM
legen. Zumindest hab ich hier ein "C Language Programming Manual" von
Mitsubishi welches das aussagt.

Matthias
Gast #91314
Lesenswert?

Habe ich bisher auch gedacht, deshalb die Frage...

Ich habe bisher 3 Versionen ausprobierte:
a) unsigned char Array_im_ROM [] = {....};
b) const unsigned char Array_im_ROM [] = {....};
c) static unsigned char Array_im_ROM [] = {....};

a) endet in einer Fehlermeldung, irgendwas mit Stack Wert von max 255
b) endet in einem Absturz des Compilers und den restlichen Programmen
c) funktioniert, aber die Daten sind im RAM...

Ich hab mir gerade mal das "Language Programming Manual" von
Mitsubishi runtergeladen. Vielleicht komme ich ja weiter. Ich hasse
das, wenn ich etwas laut C Dokumentation (halt das normale C fürn PC)
programmiere, aber es dann nicht funktioniert...

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