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?
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
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.
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
....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)?
unbekannt wrote: > Gibt es über diese Programmier-IO-Thematik ein spezifisches Datenblatt > (Übersicht)? Das Kapitel über die normalen IO-Ports im ATxmegaA1 family datasheet.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.