Forum: Mikrocontroller und Digitale Elektronik PIC programmieren in C


von Alex (Gast)


Angehängte Dateien:

Lesenswert?

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???

von Peter D. (peda)


Lesenswert?

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

von Alex (Gast)


Lesenswert?

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

von Matthias (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.