Port in ASM30 (dsPIC/PIC24) Maskieren

Gast #4119638
Lesenswert?

Mir brennt grad der Kopf. Folgendes, wenn ich Ausgänge schalte schreibe 
ich zuerst in ein Shadow Register (zB. LATD_S) dieses wird vom T1 aller 
xxx ms auf den eigentlichen Port (LATD) geschrieben, allerdings sollen 
nur RD0 und RD2 geändert werden, die restlichen Augänge sollen untouched 
bleiben.

Gibts das auch was mit IOR / AND ?
#4119918
Lesenswert?

Blubb schrieb:
> Mir brennt grad der Kopf. Folgendes, wenn ich Ausgänge schalte schreibe
> ich zuerst in ein Shadow Register (zB. LATD_S) dieses wird vom T1 aller
> xxx ms auf den eigentlichen Port (LATD) geschrieben, allerdings sollen
> nur RD0 und RD2 geändert werden, die restlichen Augänge sollen untouched
> bleiben.
>
> Gibts das auch was mit IOR / AND ?


BTW: IOR = Inklusive OR OR IOR = Immediate OR?

egal...

1
Pseudocode:
2
...
3
IN  Hilfsregister1, Ausgangsregister; Istwert des Ausgangsregister holen
4
AND Hilfsregister1, 11111010b       ; Bits 0 und 2 löschen
5
MOV Hilfsregister2, Sollwert        ; zur Bearbeitung
6
AND Hilfsregister2, 00000101b       ; alle Bits ausser 0 und 2 löschen
7
OR  Hilfsregister1, Hilfsregister2  ; die Daten kombinieren
8
OUT Ausgangsregister, Hilfsregister2; wieder ausgeben
9
...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren