-
-
Neuer Benutzer
Öfters hier
Das liegt daran, das BCF,BSF u. a. Read-Modify-Write-Befehle sind.
Das entsprechende Register wird gelesen, ein Bit gesetzt/gelöscht
und das ganze Byte wieder zurückgeschrieben.
Durch das interne Befehlspipelining überlappen sich die Ausführungs-
zyklen aufeinaneiderfolgender Befehle.
In deinem Fall wird bei dem zweiten BSF-Befehl das Port gelesen,
bevor der erste Befehl zurückgeschrieben hat.
Abhilfe: NOP-Befehl dazwischensetzen, LAT-Register verwenden
oder beide Bits mit einem Befehl verändern,
z.B. durch movlw B'00000011'
iorwf PortX
Gruss
Digger
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen