Hi! Ich arbeite gerade mit einem Graphik-LCD und muss Bilder bzw. Bilder von Buchstaben in meinen C-Source einbauen (für einen MSP430F1232). Aber: unsigned char ASCII_A[6]={0x3F,0x44,0x84,0x84,0x44,0x4F}; legt diese Tabelle im RAM ab. D.h. ich habe 256Bytes RAM und möchte aber auch noch Bildchen und so reinschreiben. Wie kann man das progn, dass die Tabelle im Flash liegt (die gute alte DB Funktion)? mfg Weichinger Klaus http://www.Weinga-Unity.de.vu
Globale Konstanten werden automatisch im ROM abgelegt. http://mspgcc.sourceforge.net/doc_memapi.html
Hallo! OK: angekommen: const unsigned char X[4]={4,3,2,1}; int main (void) { sub1(&X); } void sub1(unsigned char *Array) { unsigned char a; a=Array[0] // -> a=4 } Der Compiler scheibt main.c:35: warning: passing arg 1 of `sub1' discards qualifiers from pointer target type ?!?!?!?! Wie funktioniert denn das wirklich? mfg Weichinger Klaus
Ja klar, Dein pointer target type ist "const" deklariert, der Parameter "Array" ist es aber nicht. Damit wirfst Du den const qualifier weg, und der Compiler kann innerhalb von sub1() nicht mehr monieren, wenn Du versuchst, über *Array irgendwas da dran zu ändern.
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.