Forum: Compiler & IDEs Protierung von mega auf xmega


von Jörg B. (joerg-sh)


Lesenswert?

Ich portiere gerade ein C Programm von einen Mega32 auf einen XMega

Bisher wurden die Ausgänge so

#define ad7795_cs PORTC.4

definiert.

Beim XMega geht es so ja nicht.

Gibt es eine Lösung ohne das ich den Kompletten Code überarbeiten muss?

Grüße

Jörg

von test (Gast)


Lesenswert?

Jörg B. schrieb:
> #define ad7795_cs PORTC.4
Welcher Compiler isn das? Der GCC unterstützt diese Schreibweise meines 
Wissens nicht (gehört nicht zum Standard), es gibt aber ein "magisches" 
struct was diese Schreibweise doch möglich macht. Frag mal die Suche.

von Jörg B. (joerg-sh)


Lesenswert?

CodeVisonAVR

Unter magisches struct finde ich so nichts in der Suche

von test (Gast)


Lesenswert?

Jörg B. schrieb:
> CodeVisonAVR
OK, den kenne ich nicht.

> Unter magisches struct finde ich so nichts in der Suche
Ich auf die Schnelle auch nicht. Warte mal bis einer der Profis hier 
vorbeikommt, die schreiben dir die paar Zeilen ausm Kopf einfach runter. 
War irgendsowas wie
1
typedef struct
2
{
3
uint8_t p1:1;
4
uint8_t p2:2;
5
...
6
} portpins;
7
8
#define PORT *(volatile uint8_t*)PORTB

(ganz grob).

von Jörg B. (joerg-sh)


Lesenswert?

Ich hab jetzt doch einen interessanten Thread gefunden.

Beitrag "Port Pins mit Struct ansprechen"

Erklären diesen damit mal als geschlossen ;)

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.