TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: c4_esp_VR en 24 de Junio de 2009, 06:05:50

Título: Cambio de estado pines
Publicado por: c4_esp_VR en 24 de Junio de 2009, 06:05:50
Hola compañeros:

Me preguntaba si hay alguna función que cambie únicamente el estado de un pin de un puerto, es decir, existe port_tris pero este cambia el estado de un puerto entrero y yo sólo quiero cambiar el estado de un pin y dejar los otros como estaban.

No sé si haciendo esto el compilador cambia automáticamente el estado del pin.

Código: [Seleccionar]
#define SENSEPIN0    PIN_B2 //Salida/Entrada

#define ON  output_high
#define OFF output_low

OFF(SENSEPIN0);//Lo ponemos a cero
if (input(SENSEPIN0))//Entra aqui si le llegan 5V
{
      printf("5V en pin_b2");
}

Un saludete y muchas gracias compañeros.
Título: Re: Cambio de estado pines
Publicado por: Nocturno en 24 de Junio de 2009, 06:30:34
Existe esto:

output_high (PIN_B4); pone el pin a nivel alto
output_low (PIN_B4);  lo pone a nivel bajo
output_toggle(PIN_B4); lo pone al revés de como esté
output_float(PIN_B4); lo pone como entrada
Título: Re: Cambio de estado pines
Publicado por: c4_esp_VR en 24 de Junio de 2009, 08:15:32
Hola nocturno:

Código: [Seleccionar]
Existe esto:

output_high (PIN_B4); pone el pin a nivel alto
output_low (PIN_B4);  lo pone a nivel bajo
output_toggle(PIN_B4); lo pone al revés de como esté
output_float(PIN_B4); lo pone como entrada
Gracias por la respuesta.

No entiendo muy bien el toggle, que pone al revés la tensión de salida o el I/O del pin. Y por otro lado no hay una función que lo ponga como salida.

Muchas gracias.
Título: Re: Cambio de estado pines
Publicado por: Nocturno en 24 de Junio de 2009, 11:21:31
El toggle se refiere a cambiar la salida entre 1 y 0, pero manteniéndola siempre como salida.

Hay dos comandos que lo ponen como salida, output_high y output_low  :D
Título: Re: Cambio de estado pines
Publicado por: c4_esp_VR en 24 de Junio de 2009, 11:27:27
Citar
El toggle se refiere a cambiar la salida entre 1 y 0, pero manteniéndola siempre como salida.

Hay dos comandos que lo ponen como salida, output_high y output_low  lol

Emmmmmmmm va a ser que me he columpiado  :P :P :P

Gracias Nocturno
Título: Re: Cambio de estado pines
Publicado por: migsantiago en 24 de Junio de 2009, 13:43:26
Hey no se olviden de output_drive  :mrgreen:

Código: [Seleccionar]
output_high (PIN_B4); //entrega un 1 lógico
output_low (PIN_B4);  //entrega un 0 lógico
output_toggle(PIN_B4); //invierte el estado lógico actual del pin
output_float(PIN_B4); //lo pone en entrada y alta impedancia
output_drive(PIN_B4); //lo pone como salida
Título: Re: Cambio de estado pines
Publicado por: c4_esp_VR en 24 de Junio de 2009, 17:35:03
Citar
Hey no se olviden de output_drive  Mr. Green

Pero como nos vamos a olvidar de nuestro amigo output_drive...que malos que somos...ya lo hemos añadido a la lista  :D :D :D