Autor Tema: Configuración del puerto  (Leído 2412 veces)

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

Desconectado El_Coach

  • PIC12
  • **
  • Mensajes: 79
Configuración del puerto
« en: 05 de Junio de 2005, 10:35:00 »
Hola, tengo unas dudas que os pueden resultar obvias, pero que por mucho que leo no acabo de enterarme Flash

¿Que hace la directiva #use fast_io(puerto) exactamente?, ¿es recomendable ponerla?

¿Utilizando #use fast_io(puerto) sigue siendo necesario utilizar set_tris_puerto(...) cada vez que se quiera cambiar la configuarcion del puerto?

¿Hay alguna manera de configurar pines como entrada o salida independientemente del resto del puerto?
En la ultima pregunta me refiero a por ejemplo si quiero configurar el pin B1 como salida y dejar los demas pines del puerto B con la configuracion que tenian.

¡Un saludo a tod@s! Sonrisa
"Hazlo o no lo hagas, pero nunca lo intentes"

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Configuración del puerto
« Respuesta #1 en: 06 de Junio de 2005, 00:05:00 »
Las directivas #use fast_io y #use standard_io definen cómo debe comportarse el compilador cuando se encuentre con la necesidad de leer o escribir en un puerto del PIC. De esta manera:
- fast_io: es el usuario quien debe preocuparse de establecer los TRIS adecuados antes de leer o escribir en un puerto
- standard_io: el compilador establece los TRIS adecuados cuando sea necesario para poder leer o escribir en un puerto
Claro que puedes cambiar sólo el TRIS de un pin. Cuando tú ejecutas el comando SET_TRIS_PUERTO(valor), estás indicando con los bits de valor el estado de cada pin. Ese valor debe ser de 8 bits y configurará como salidas los pines del puerto que estén a 0 y como entrada los que estén a 1.

Desconectado El_Coach

  • PIC12
  • **
  • Mensajes: 79
RE: Configuración del puerto
« Respuesta #2 en: 06 de Junio de 2005, 15:25:00 »
Gracias Nocturno, ahora si que me ha quedado bien claro.

Con lo de configurar cada pin independientemente no me refería a lo que me explicaste... me refiero a por ejemplo, llamo a una función creada por mí que necesite poner el PIN_B2 como salida, pero dejar los demás pines del puerto B con la configuración que tenían. Puede ser que llame a esa función desde partes diferentes del main o desde otras funciones y que cada vez tenga los pines del puerto B con una configuración, entonces cuando regrese de esa función mantenga la configuración de los demás pines del puerto B que tenía antes de haberla  llamado.

Si utilizo standard_io, que es como viene por defecto, utilizando los comandos input y output para asignar a los pines valores, configura tan solo el pin al que me refiero?

Gracias de nuevo Giño y disculpadme por estas preguntas tan rebuscás Vacilando
"Hazlo o no lo hagas, pero nunca lo intentes"

Desconectado roc364

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 108
RE: Configuración del puerto
« Respuesta #3 en: 06 de Junio de 2005, 19:49:00 »
Hola el_coach. Claro!!  sin tocar nada (incluso sin poner la instruccion use standard i_o) con solamente usar Input_lo_que_sea o Output_lo_que_sea, los pines se configuran solos. Asi que si no necesitas nada raro, no te compliques con el tema.
Hay solo 10 tipos de personas, los que entienden el codigo binario, y los que no.

Viva La Patagonia Argentina!!

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: Configuración del puerto
« Respuesta #4 en: 06 de Junio de 2005, 23:53:00 »
Si pones al principio #use fast_io(puerto) cada vez que en el programa uses un input o un output el compilador no reprograma los puertos al desdoblar las instrucciones a ensamblador, con lo cual se eliminan líneas de programación asembler. Puedes comprobarlo en el fichero .lst

Un saludo

Desconectado El_Coach

  • PIC12
  • **
  • Mensajes: 79
RE: Configuración del puerto
« Respuesta #5 en: 07 de Junio de 2005, 04:24:00 »
Sonrisa Muchas gracias a todos por vuestra ayuda Sonrisa

Me quedó todo bastante claro Giño

Un saludo
"Hazlo o no lo hagas, pero nunca lo intentes"