TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: El_Coach en 05 de Junio de 2005, 10:35:00

Título: Configuración del puerto
Publicado por: El_Coach 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
Título: RE: Configuración del puerto
Publicado por: Nocturno 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.
Título: RE: Configuración del puerto
Publicado por: El_Coach 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
Título: RE: Configuración del puerto
Publicado por: roc364 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.
Título: RE: Configuración del puerto
Publicado por: pocher 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
Título: RE: Configuración del puerto
Publicado por: El_Coach 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