Forum: Mikrocontroller und Digitale Elektronik BSF PORTA Probleme


von Maurice Bremer (Gast)


Angehängte Dateien:

Lesenswert?

servus zusammen
ich bin pic neueinsteiger und versuche zur zeit ein codetastatur
zu programmieren.
jetzt habe ich folgendes problem
ich kann mit meiner tastatur zwischen zwei verschiedenen moden
auswählen
sobald ich im modus "maineingeben" bin möchte ich das RA1 UND RA3
gesetzt ist doch ausgegeben wird NUR RA3
soblad ich im modus "mainaendern"  bin möchte ich das RA2 UND RA0
gesetzt ist doch ausgegeben wird NUR RA0

wieso wird "anscheinend" mein PORTA bei einem neuem BSF - Befehl
gelöscht?

von Jens K. (digger71)


Lesenswert?

Hallo Maurice!

BSF und BCF sind Read-Modify-Write-Befehle, sprich der
ganze Port wird eingelesen, das entsprechende Bit verändert
und wieder zuruckgeschrieben.
Zwei aufeinanderfolgende Befehle werden aber genaugenommen nicht
nacheinander abgearbeitet, sondern ineinander versetzt
(sogenanntes Befehlspipelining).
Das heisst der zweite Befehl liest das Port schon, bevor die
Daten vom ersten Befehl im Ausgangsregister "angekommen" sind!!

Du kannst entweder einen Leerbefehl(NOP) einfügen, oder
das PORTA als Byte schreiben, da wird nichts gelesen.

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.