www.mikrocontroller.net

Forum: Compiler & IDEs Bezeichnung PORTA wird beim Atxmega wohl nicht unterstützt?


Autor: Faller (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Marius Wensing (mw1987)
Datum:

Bewertung
0 lesenswert
nicht 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:
#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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthias Larisch (matze88)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: unbekannt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
unbekannt wrote:

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

Das Kapitel über die normalen IO-Ports im ATxmegaA1 family datasheet.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.