Forum: Mikrocontroller und Digitale Elektronik Assembler Befehl


von Xenon (Gast)


Lesenswert?

Hallo!

Gibt es eine bessere Möglichkeit einen Port-Pin in abhängigkeit eines
Einganges zu setzen außer dieser hier?

sbis pind,0
sbi pind,1
sbic pind,0
cbi pind,1

Mfg Xenon

von Xenon (Gast)


Lesenswert?

Hmm war anscheinend schon zu spät ;-)

Anstatt
sbis pind,0
sbi pind,1
sbic pind,0
cbi pind,1

heißt es natürlich:
sbis pind,0
sbi portd,1
sbic pind,0
cbi portd,1

Dummer fehler ^^

von Thomas O. (Gast)


Lesenswert?

würde es auch so machen, man könnte es auch mit jmp bzw. rjmp machen
aber rjmp braucht ja 2 Takte , wenn PD1 als Ausgang konfiguriert ist
müsste es aber portd statt pind heissen.

        sbis pind,0
        rjmp cb
        sbi portd,1
        rjmp weiter
cb:     cbi portd,1
weiter: xyz

von Philipp B. (philipp_burch)


Lesenswert?

in temp, PIND
andi temp, 0b00000001
lsl temp
out PORTD, temp

Macht aber mehr Sinn, wenn du mehrere nebeneinanderliegende Pins
"verschieben" musst. Ausserdem solltest du da aufpassen mit den
Pull-Ups, die werden da natürlich alle gelöscht.

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
Noch kein Account? Hier anmelden.