On 10-09-22 01:02 AM, David Duffy (AVD) wrote: > Up until now, I've only used the older (lower end?) PICs > > I think I understand the difference between PORTx and LATx, but in one > data sheet Microchip show port B being initialised like so: > > BANKSEL PORTB > CLRF PORTB > BANKSEL LATB > CLRF LATB > BANKSEL ANSELB > CLRF ANSELB > BANKSEL TRISB > CLRF TRISB > > Why bother clearing TRISB when you would be only writing to LATB anyway? > David... > > =20 Good point. All writes to PORTx are written to the latch anyway, so clrf=20 PORTx is identical to clrf LATx The port pin diagrams indicate that fact as well. Further, all analog pins read as '0', all digital pins read the state of=20 the signal (which for outputs may be a mis-match to the LATx value if=20 you have slow-changing signal lines...). But, in all cases, clrf PORTx =3D=3D clrf LATx On the other hand, it's not an error to do it twice... and further,=20 operations other than 'clrf' on PORTx will/may produce a different=20 result than the same operation on LATx... so perhaps it is good practice=20 to treat them 'both' explicitly in the initialization routine... Rolf --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .