Forum: Mikrocontroller und Digitale Elektronik 2 Pointer auf 2 Dimensionales Array in Array speichern PIC18f45K22


von Jean (Gast)


Lesenswert?

Hallo liebe Forenuser

Bei meinem aktuellen Pic-Projekt möchte ich ein GLCD ansteuern.
Das funktioniert auch einigermassen.

Das Problem ist das ich beim 8-Bit Pic nur ein Array von 255 Feldern 
erzeugen kann. Aus diesem Grund muss ich das Bild, welches ich ausgeben 
will auf mehrere Arrays aufteilen.

Nun zum eigentlichen Problem: Aktuell gibt es zwei Arrays auf jeds Array 
zeigt ein Pointer. Nun möchte ich diese beiden Pointer in einem Array 
speicher, sodass ich später dynamisch darauf zugreifen kann.
1
const char wolf1[3][80]={240 Hexzahlen};
2
                    
3
const char wolf2[3][80]={240 Hexzahlen};
4
                    
5
  
6
const char (*pointer1)[80] = wolf1;
7
const char (*pointer2)[80] = wolf2;

Freundliche Grüsse

Jean

von Rolf M. (rmagnus)


Lesenswert?

Jean schrieb:
> const char (*pointer1)[80] = wolf1;
> const char (*pointer2)[80] = wolf2;
1
const char (*pointers[2])[80] = { wolf1, wolf2 };

Generell tut man sich bei sowas leichter, wenn man typedef nutzt:
1
typedef char img_array[80];
2
const img_array wolf1[3] = {240 Hexzahlen};
3
const img_array wolf2[3] = {240 Hexzahlen};
4
const img_array* pointers[2] = { wolf1, wolf2 };

: Bearbeitet durch User
von Markus F. (mfro)


Lesenswert?

Mir stellt sich zunächst folgende Frage: was ist denn eigentlich 
dieselbe?

von Volker S. (vloki)


Lesenswert?

Jean schrieb:
> Das Problem ist das ich beim 8-Bit Pic nur ein Array von 255 Feldern
> erzeugen kann.

Bist du sicher? Welchen Compiler verwendest du denn?

von (prx) A. K. (prx)


Lesenswert?

Jean schrieb:
> Das Problem ist das ich beim 8-Bit Pic nur ein Array von 255 Feldern
> erzeugen kann.

Die PICs mit 12/14-Bit Befehlen, haben von der Architektur her ziemliche 
Probleme mit linearer Adressierung, aber die mit 16-Bit Befehlen können 
es eigentlich.

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.