Forum: Mikrocontroller und Digitale Elektronik Pindeklaration Xmega


von Patrick S. (patricksch)


Lesenswert?

Hallo
In AtmelStudio 6 lässen sich die Pins nicht mehr deklarieren wie ich es 
gewöhnt bin:

#define PIN_LED_ROT PA0 (Beispiel)

Wenn ich das bei einem Xmega mache kommt die Fehlermeldung, "PA0 
undeclared".

Muss man das bei den Xmega jetzt immer mit Pin0_bm benutzen?

Vielen Dank im Voraus.
Patrick

von Oliver J. (skriptkiddy)


Lesenswert?

Patrick Schmelzer schrieb:
> Muss man das bei den Xmega jetzt immer mit Pin0_bm benutzen?

Wahrscheinlich. Oder du machst Dir nen eigenen Header mit:
1
#define PA0 0
2
#define PA1 1
3
#define PA2 2
4
#define PA3 3
5
#define PA4 4
6
...

von Christian D. (neo87)


Lesenswert?

Du kannst auch
1
#define PIN_LED_ROT (1<<Pin1_bp)
verwenden.

bp für BitPosition und bm für BitMask

von Patrick S. (patricksch)


Lesenswert?

Danke für die Antworten.
Der Hintergedanke war eher, dass man bei Pin0_bm oder Pin0_bp nicht 
sieht welcher Port das ist. Fühl mich wohler mit der "PA0" Schreibweise. 
Werde mir wohl einen header dafür erstellen.

von Christian D. (neo87)


Lesenswert?

mhh, das sieht man doch aber an dem was davor steht, bsp.:
1
PORTA.OUTSET = Pin1_bm;

weil PA1 ist ja gleich PB1, PC1,...

Und wenn ich jetzt ausversehen falsch einsetze, z.B.:
1
PORTA.OUTSET = PB1;
würde ich ja auch Pin1 von PORTA setzen, könnte auch wieder zu 
Verwirrung führen.

Also ich mag die Schreibweise mit Pin1_bm aber das ist wohl 
Geschmackssache.

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.