Autor Tema: Cambio de estado pines  (Leído 2428 veces)

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

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Cambio de estado pines
« 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.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Cambio de estado pines
« Respuesta #1 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

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Cambio de estado pines
« Respuesta #2 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.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Cambio de estado pines
« Respuesta #3 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

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Cambio de estado pines
« Respuesta #4 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

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Cambio de estado pines
« Respuesta #5 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

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Cambio de estado pines
« Respuesta #6 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