Autor Tema: Usar parte de puerta como IN y parte como OUT  (Leído 2046 veces)

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

Desconectado I3iT

  • PIC12
  • **
  • Mensajes: 50
Usar parte de puerta como IN y parte como OUT
« en: 28 de Octubre de 2004, 07:13:00 »
Holas, mu wenas a to2.

Tengo una duda; quiero sacar un nible por los 4 bits de menos peso de PORTB, y usar los 4 bits de más peso como entradas.

Tengo que sacar unos valores por RB0-3 pero RB4-7 son entradas, pues bien, los valores los saco con output_b(....) y resulta que el mamón tiene prioridad sobre los trisb y me desconfigura la puerta así que pierdo los cuatro bits como entradas, y me da tensión de salida en ellos.
No sé como sacar los 4 bits que me interesan manteniendo RB4-7 como entradas

Opciónes:  hacerlo bit a bit, pero es un coñado.
                  movff dato,PORTB   ASM

¿Alguna idea?
Gracias

Desconectado odukec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 174
RE: Usar parte de puerta como IN y parte como OUT
« Respuesta #1 en: 28 de Octubre de 2004, 08:59:00 »
Hola..

En lenguaje C con una estructura es muy facil..

Codigo:

struct puerto_b {
          int entradas : 4;          // Primeros 4 pines como entradas
          int salidas  : 4;          // Los otro 4 como salidas
} puerto;

#byte puerto = 6                     // coloca la estructura en la dir. del puerto b

struct puerto_b const conf_tris = {15,0}; // para configurar el TRISB

set_tris_b(conf_tris);
.....
.....

// ahora para sacar un dato

puerto.salidas= (dato);

// y para leer las entradas

(variable)=puerto.entradas;




Creo que no es mas..

Saludos

Desconectado I3iT

  • PIC12
  • **
  • Mensajes: 50
RE: Usar parte de puerta como IN y parte como OUT
« Respuesta #2 en: 28 de Octubre de 2004, 15:09:00 »
Muchas gracias, provare lo de la estructura. No me plantee su uso (no me acordaba ni de que existian extructuras en C).

Salu2


 

anything