Der Sinn... muss ich mir auch was ausdenken. Vielleicht wenn du ein
Rechtecksignal für ein Blinken o.ä. machen willst?
Oder meinst du, warum man durch Schreiben in PIN PORT Umschalten kann?
Entweder ist es einfach ein Nebeneffekt der Hardwareentwicklung, der
jetzt dokumentiert und nutzbar ist oder es ist bewusst so beim Design
des AVR angelegt worden.
Ich müsste da auch erst nachschlagen, ob es auf einem anderen Weg
möglich ist, mit nur einem ASM-Befehl ein Toggeln eines Outputpins zu
bewirken. Soviel Ahnung habe ich von Assembler nicht, um das aus dem
Stand zu entscheiden.
Definitiv ist diese Methode die schnellste Umschaltung, die man machen
kann.
Zum Hintergrund: Ein Port hat drei Register - das Datenrichtugsregister
(DDR), das zu lesbare /schreibbare Daten Register (PORT) und das lesbare
Datenregister (PIN).
Bei den neueren AVRs ist jetzt der Spezialfall erklärt, was passiert,
wenn man eine logische 1 in ein Bit des eigentlich nur lesbaren PIN
Registers schreibt: Dann wird das entsprechende Bit des Datenregister
PORT umgeschaltet (getoggelt).
Wenn du den Effekt nicht bewusst nutzen willst, ist dein Programm an und
für sich an dieser Stelle "Käse"
Mar3:
Set Pinf.1
Goto Mar3
Besser wäre es so:
SET Portf.1 ' Portf.1 = 1
DO
LOOP