Bezeichnung PORTA wird beim Atxmega wohl nicht unterstützt?

Gast #977966
Lesenswert?

Ich beschäftige mich ganz neu mit Mikrocontrollern und habe mir den 
neuen Atxmega128 zugelegt. Jetzt stellte ich fest das die vielen 
Progamme hier im Forum umgeschrieben werden müssen.
Der GCC-Compiler nimmt kein PORTA oder PINA mehr an. Es muss jetzt 
heißen PORTA.OUT oder PINA.OUT. Sehe ich das richtig? Gibt es 
irgendwelche schnelle Tricks?
#977969
Lesenswert?

Nein, wenn ich das Headerfile vom XMega mal so anschaue, sind alle für 
einen Port wichtigen Register in eine struct PORT_t gewandert. Dort hast 
du Zugriff auf die komplette I/O-Logik. Also statt PINA muss es nun 
heißen PORTA.IN, DDRA wird zu PORTA.DIR PORTA.DIRSET PORTA.DIRCLR und 
PORTA.DIRTGL.

Tricks in dem Sinne gibts da sicher keine. Aber versuchs doch einfach 
mal mit nem define:
1
#define PINA PORTA.IN

Mehr kann ich leider zu den XMegas nicht sagen, da die für mich bisher 
nur aufm Papier existieren... Hab leider noch nie was dafür 
programmiert...

MfG
Marius
Moderator Persönliche Seite #978608
Lesenswert?

Faller wrote:

> Es muss jetzt
> heißen PORTA.OUT oder PINA.OUT.

Eher PORTA.OUT und PORTA.IN.

Beim Xmega haben offensichtlich die Hardwareentwickler ihrem Affen
ziemlich viel Zucker gegeben. ;-)  Man hat jetzt für jeden IO-Port
zahlreiche Möglichkeiten, wie man einzelne oder alle Bits setzen
oder löschen oder sonstwie manipulieren kann.  Wenn du die
entsprechenden Teile aus dem Datenblatt erstmal verstanden hast,
dann wird dir schnell klar werden, dass es auf Grund der nun möglichen
Entscheidungsvielfalt einfach gar nicht mehr möglich ist, wie bei den
bisherigen AVRs zu verfahren.  Dafür gehören eben auch solche AVR8-
Hacks wie das Toggeln eines Pins, indem man auf dem Eingaberegister
ein Bit schreibt, der Vergangenheit an.  Stattdessen gibt's jetzt
das Unterregister OUTTGL, bei dem diese Funktion von vornherein klar
ist.
#978617
Lesenswert?

Wo wir beim Thema sind: Dieses Pin-Toggeln habe ich vor ungefähr 10 
Stunden kennengelernt, als ich nen Artikel hier gelesen hab. Wollte das 
erst korrigieren weil mir das so absurd vorkam, bis ich mir das 
Datenblatt nochmal geschnappt habe... Wer zum Teufel kommt denn auf die 
Idee, eine Passage über GPIOs nochmal neu zu lesen? Hätte nicht 
erwartet, dass die Mega 4/8/16 8 Reihe soviele Neuerungen mitbringt... 
Okay, einiges anderes hatte man ja auch vorher schon mitbekommen.

cu
Matze
Gast #979454
Lesenswert?

....Wenn du die entsprechenden Teile aus dem Datenblatt erstmal 
verstanden hast, dann wird dir schnell klar werden,.....

Gibt es über diese Programmier-IO-Thematik ein spezifisches Datenblatt 
(Übersicht)?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren