BSF PORTA Probleme

Gast #321516
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?
Angehängte Dateien:
#321517
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.

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