Hallo, ich bin gerade auf die Programmzeile #define PORTA PORT->Group[0] gestoßen. Was bedeutet der Pfeil -> zwischen PORT und Group[] ?
Zugriff auf ein struct-Member, wenn du einen Pointer auf eine struct hast.
Lies die Bibel -> http://www.amazon.de/Programmieren-C-Reference-Manual-deutscher-Sprache/dp/3446154973
Lass mich raten: Atmel SAMD & Verwandte? Sie nennen dort die PIO-Ports zwar über weite Teile PORTA und PORTB, aber in Wirklichkeit hat der Peripheriemodul PORT nur eine einzige Instanz, und die beiden Port-Bereiche sind darin als ein Array namens Group bezeichnet. Um jetzt PORTA9 zu setzen, müsstest du in der ausführlichen Version schreiben:
1 | PORT->Group[0].OUTSET.bit.OUTSET = (1 << 9); |
Mit obigem Makro kannst du stattdessen schreiben:
1 | PORTA.OUTSET.bit.OUTSET = (1 << 9); |
Die technische Erklärung für den Operator -> wurde dir ja schon ausführlich erläutert.
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.