Unterschied: PORT und LAT?

Gast #848003
Lesenswert?

Schau mal ins errata-sheet. Falls es das gleiche wie beim 24f ist, 
funktionieren einige Bitmanipulationsbefehle auf den PORT Registern 
nicht richtig- lange Rede kurzer Sinn- für Ausgänge LAT benutzen für 
Eingänge PORT
#848022
Lesenswert?

Hallo

der Unterschied zwischen PORT und LAT betrifft das Verändern einzelner 
Bits eines Portes. Zum Ändern eines Bites wird der ganze Port gelesen, 
das Bit geändert uund dann der ganze Port zugeschrieben. Wird bei 2 Bits 
eines Portes eine solche Operation hintereinander ausgeführt, kann 
dadurch die erste Operation schieflaufen, wenn der PORT-Befehl verwendet 
wird, nicht aber beim LAT Befehl.

Beispiel

#define  EESPICS0    LATDbits.LATD0
#define  EESPICS1    LATDbits.LATD1

EESPICS1 = 1;
EESPICS0 = 0;     // Problem kann EESPICS1 betreffen bei PORT statt LAT

Gerhard

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