www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Grafikdaten für LCD in C


Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist vielleicht eine dumme Frage, aber wie kann ich Bilder für ein LCD
möglichst einfach im ANSI C Code ablegen, um diese auf einem LCD
anzuzeigen ?

In Assembler gibt es das "db" Schlüsselwort. In C habe ich nichts
vergleichbares gefunden...

Autor: Fritz Ganter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
über ein array, z.B.

char g[]={112,32,15,123};

Die Bytes musst halt selber reinschreiben.

Autor: Fritz Ganter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: justme (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
als s/w bitmap speichern soll auch gehen... muß man aber auch ein paar
bytes rausschmeißen... also um an die bytes für das array zu kommen

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

du könntest auch mit bin2hex und eineme Texteditor/Script das Bild in
dein Binary einbauen.

Matthias

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

das steht sowohl in der Doku zur AVRLibc als auch diverse male hier im
Forum.

Matthias

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier im Forum habe ich nur unbeantwortete Fragen
http://www.mikrocontroller.net/forum/read-1-8414.html#8414
und
const unsigned char Array_im_ROM [] = {....};
gefunden.
Wenn ich das verwende hängt sich der Compiler (NC30 von Renesas für
M16C uC) auf...

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.