Problema cambio singola uscita di un PIC

Salve a tutti Questo problema mi assilla da ormai troppo tempo, lo avevo anche postato tempo fa ma non avevo ricevuto risposte vediamo se questa volta sono piu fortunato.

Allora sto usando un PIC16F877 (ma ho gia avuto lo stesso problema con un

126f876) ad un certo punto devo cambiare ad esempio lo stato dell'uscita RA3 e lo faccio cosi: RA3=1; oppure RA3=0; in questo momento RA3 cambia il suo stato ma tutte le altre uscite del portA vanno a 0 e questo non va bene.. :-( Questo succede cambiando una qualunque delle linee del portA. Se facci le stesse operazioni però riferite ad esempio al port B nessun problema cambia solo la linea che voglio e le altre rimangono al loro stato precedente. Qualcuno sa dirmi il motivo di una cosa del genere?
Reply to
NeMeSi
Loading thread data ...

NeMeSi ha scritto:

mbia

La porta A =E8 condivisa con l'A/D converter. Hai impostato i registri ADCON in modo che quei pin siano gestiti come I/O digitali e non come ingressi analogici ? Marco

Reply to
Marcick

Non so come il tuo compilatore gestisca le porte, ma credo sia una cosa abbastanza generale per tutti i PIC il fatto che per cambiare lo stato delle uscite si agisca sui registri LAT (LATA per la porta A). Poi per indirizzare il singolo pin della porta ad esempio il compilatore Microchip permette di usare la sintassi

LATAbits.LATAn //n=pin desiderato (0..7)

Altrimenti, per tagliare la testa al toro puoi usare il metodo della nonna:

LATA|= 1

Reply to
Pasu

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.