F. Fo schrieb:
> Aber die Frage war, welche ist die gebräuchlichste
Die gibt es nicht. Bzw. sie variiert, je nachdem aus welchen Quellen der
betrachtete Code stammt.
> und einfachste Schreibweise
Genauso wie Schönheit liegt auch Einfachheit im Auge des Betrachters.
> und insbesondere beim Invertieren?
Vom Invertieren hat bis jetzt noch gar niemand gesprochen. Für mich
ist die lesbarste Formulierung in C die Verwendung des XOR-Operators:
1 | PORTA ^= _BV(LED_STATUS)
|
allerdings ist der erzeugte Code nicht immer optimal bzw. kann
unerwünschte Seiteneffekte haben (er wird als read-modify-write
ausgeführt). Wenn man den Zustand des Bits schon kennt, kann es
sinnvoll sein das Bit per if/else zu setzen bzw. zu löschen.
Schließlich erlauben aktuelle AVRs auch das Invertieren eines Bits im
PORTx Register, indem man eine 1 ins zugehörige Bit des PINx Registers
schreibt. Als Alternative zu obigem also:
XL