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...
über ein array, z.B. char g[]={112,32,15,123}; Die Bytes musst halt selber reinschreiben.
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.
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
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...
Hi du könntest auch mit bin2hex und eineme Texteditor/Script das Bild in dein Binary einbauen. Matthias
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...
Hi das steht sowohl in der Doku zur AVRLibc als auch diverse male hier im Forum. Matthias
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...
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
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...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.