TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: ochi en 24 de Abril de 2008, 08:28:06

Título: PORTD
Publicado por: ochi en 24 de Abril de 2008, 08:28:06
Hola, tengo un problemilla al cambiar los bits de un puerto, creo que debe ser una tontería pero no encuentro la solución:

tengo que controlar los bits RD2 Y RD3 de mi dspic, entonces pongo:

TRISD = 0x0C;
PORTDbits.RD2 = 1;
PORTDbits.RD3 = 1;

pero al ejecutarlo el segundo bit que pongo a uno me cambia el otro y me lo pone a 0. No puedo poner PORTD = 0x0c porque el resto de señales no van en este mismo código. Puesto que la mayor parte del tiempo quiero que sean iguales, ¿hay alguna forma de hacerlo? Muchas gracias a todos
Título: Re: PORTD
Publicado por: manex_1987 en 24 de Abril de 2008, 08:38:51
Has probado mediante los registros LAT?

Dado que no especificas el modelo de PIC, no puedo comprobarlo yo, pero mira aver si hay algun hardware compartiendo esos pines, y si está activo o necesita de alguna configuracion especial.

Has mirado el dissasembly del codigo?
Título: Re: PORTD
Publicado por: ochi en 24 de Abril de 2008, 09:00:19
Si, con LAT funciona perfectamente, además me estaba confundiendo con entrada/salida, ponía TRIS a 1 como si fuese entrada y lo uqe yo quería era salida.


Muchas gracias