Hallo, ich programmiere einen PIC18F452 in C mit dem Compiler c18 von Microchip. Dabei ist mir aufgefallen, dass ich maximal 120 Bytes für die Deklaration von Variablen verwenden kann. So ist z.B. bei einem Array unsigned char test[120] schon schluss und ich kann keine weiteren Variablen mehr deklarieren (unsigned char hat 1 Byte). Weiß jemand wie man in C diesbezüglich den PIC besser ausnutzen kann???
120 Byte sind für eine MC-Anwendung schon enorm viel. Überleg Dir nochmal, ob Du wirklich soviel brauchst. Das Stichwort bei C sind lokale Variablen, d.h. die benötigten Variablen werden erst in der Funktion angelegt, in der sie gebraucht werden. Damit stehen sie dann beim Verlassen der Funktion wieder anderen Funktionen zur Verfügung. Ich habe z.B. Programme in C für den AT89C2051 geschrieben, die insgesamt 1000 Byte an Variablen benutzen, aber eben nicht gleichzeitig. Daher passen sie trotzdem in die "nur" 128 Byte SRAM. Peter
Hallo Peter, danke für deine schnelle Antwort. Ich habe vor eine CompactFlash Karte auszulesen. Ein Sektor hat dabei eine Größe von 512 Byte. Diese würde ich gerne puffern. Vielleicht ist das auch gar nicht nötig, denn diese Daten sollen z.B. seriell empfangen oder gesendet werden. Aber wenn doch wäre es nicht schlech, wenn man einen kompletten Sektor mal speichern könnte. Alex
Hi dürfte eigentlich nicht passieren. Der PIC hat ja 1,5k RAM. Compiler-Einstellungen flasch? Compiler kaputt? Matthias
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.