Autor Tema: palabra de 4 bits  (Leído 1462 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado vasconinicolas

  • PIC16
  • ***
  • Mensajes: 124
palabra de 4 bits
« en: 31 de Julio de 2008, 20:31:02 »
Alo muchachis.. tengo una duda, mejor dicho, se como resolver esto pero quería su opinión para ver la forma más óptima.
El temas es el siguiente, concretamente estoy trabajando con el 16f876 cuyo PORTA esta configurado como: RA0 analog y el resto digital...
RA0 lo uso para sensar,  mientras que RA1-RA4 son salidas digitales. El tema es que cuando mando valores a la salida lo hago, o lo hacia de esta forma: "output_A(x);"
Bueno, eso anda de 10 si uso como salidas RA0-RA3, pero como a RA0 la quiero usar analogicamente lo que pretendo es: definir una variable (x) que afecte únicamente los 4 bits que van de RA1 a RA4. Esto es posible??? Uso CCS
No quiero que al hacer output_A(x); se vea afectado el pin RA0, que según lei, al definirlo como: "setup_adc_ports(AN0);" pasa a ser entrada... peros probe y se puede escribier en él... eso es lo que no quisiera.
Bueno, dejo la inquietud para quien me pueda tirar una manito..
saludosss
N
« Última modificación: 31 de Julio de 2008, 20:35:45 por vasconinicolas »
"No hacen ciencia los países ricos,
Son ricos los países por hacer ciencia"

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: palabra de 4 bits
« Respuesta #1 en: 02 de Agosto de 2008, 13:45:23 »
Yo de ti para asegurarme utilizaría fast_io para que el compilador no cambie el sentido entrada/salida de los pines automáticamente, y luego lo gestionaría con tris.

Al principio del programa:
#use fast_io(A)

En la ejecución:
set_tris_a(0b00000001); // deja el pin RA0 como entrada y los demás como salida

y luego envías con output_a(valor) sin problemas

Desconectado vasconinicolas

  • PIC16
  • ***
  • Mensajes: 124
Re: palabra de 4 bits
« Respuesta #2 en: 05 de Agosto de 2008, 16:13:44 »
Hola Nocturno, muchas gracias por tu mensaje, yo de todos modos probé lo que me decis pero igual se comporta como salida, pues le pongo un valor y cambia de estado... quiza tenga que ller mejor e datasheet de ese micro. Bueno, mas luego te comento cual era el error..
Muchas gracias!!
N
"No hacen ciencia los países ricos,
Son ricos los países por hacer ciencia"