Michael D. schrieb:
> "PORTF.DIRCLR = ..." geht und wirkt nur auf den einen Pin
nein, das wirkt auf die Pins, deren Bit in der zugewiesenen Bitmaske
gesetzt ist.
> "PORTF.DIRCLR |= ..." geht nicht und wirkt irgendwie auf alle Pins
Ein Blick ins Manual würde Klarheit bringen:
13.13.3 DIRCLR – Data Direction Clear register
(...)
Reading this register will return the value of the DIR register
Deine Operation löscht also alle im Direction-Register gesetzten Bits,
da Du dessen Zustand mit Deinen Wert veroderst, was genau der Sinn des
|= Operators ist.
> Sonderbar, dass (1<<PinDenIchWill) dann nicht das selbe Ergebnis
> liefert. Weis irgendwer warum? Das Manual liefert keine vernünftige
> Antwort.
Doch, s.o.!
> Lasst lieber die Finger von DIRSET UND DIRCLR und beschreibt euer
> DIR-Datenfeld lieber gleich direkt.
So ein Blödsinn!
Grüßle,
Volker.