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