Autor Tema: como preguntar por el pin  (Leído 5909 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado kidpic

  • PIC16
  • ***
  • Mensajes: 231
como preguntar por el pin
« en: 19 de Septiembre de 2009, 21:26:31 »
Como se puede preguntar si el pin b1 del puerto B esta en cero o si hay un nivel bajo
Muchas gracias!!
antes yo preguntaba por el pin si estaba en uno o nivel alto : if(input(Pin_b1)
 ahora , es correcto hacer esto???
 if(input(Pin_b1=0)
Si quieres trascender..., enseña humildemente  lo que sabes.

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: como preguntar por el pin
« Respuesta #1 en: 19 de Septiembre de 2009, 21:31:37 »
Hola, en la ayuda de CCS encontraras las maneras de usar los comandos del compilador.
Para lo que consultas seria:

if(!input(PIN_B1))
{
lo que deseas hacer;
}

Saludos.
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: como preguntar por el pin
« Respuesta #2 en: 19 de Septiembre de 2009, 21:34:01 »
también puedes hacer:
if(input(Pin_b1)==0)
{
......
}

Desconectado kidpic

  • PIC16
  • ***
  • Mensajes: 231
Re: como preguntar por el pin
« Respuesta #3 en: 19 de Septiembre de 2009, 22:10:59 »
Ok gracias me estaba faltando el "doble=="
 
Si quieres trascender..., enseña humildemente  lo que sabes.

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: como preguntar por el pin
« Respuesta #4 en: 20 de Septiembre de 2009, 01:18:26 »
bueno ...si mal no recuerdo por ahi don redpic escribio q no era conveniente preguntar por el estado de un bit ya que al hacerlo el tris se cambiaba a entrada...recomendaba utilizar flag para saber si estaba encendido o apagado.

saludos
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: como preguntar por el pin
« Respuesta #5 en: 20 de Septiembre de 2009, 04:42:23 »
Eso depende de si estás usando el modo STANDARD_IO que sí te cambia el TRIS, o el modo FAST_IO donde no toca el TRIS.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: como preguntar por el pin
« Respuesta #6 en: 20 de Septiembre de 2009, 12:56:03 »
input_state(PIN) no pregunta por el tris

de acuerdo a la ayuda del ccs:


This function reads the level of a pin without changing the direction of the pin as INPUT() does.


La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado kidpic

  • PIC16
  • ***
  • Mensajes: 231
Re: como preguntar por el pin
« Respuesta #7 en: 21 de Septiembre de 2009, 22:59:03 »
Que puedo estar haciendo mal. No me funciona el programita,
 #include <16F877.h>
 #fuses HS,NOWDT,NOPROTECT,NOLVP
 #use delay(clock=20000000) 
 #include <lcd.c> 
 long int pulsos=0;
 void main(void)
{lcd_init();
set_tris_b(0xfe);//Pin RB0 del puerto B como salida, el resto como entrada
 disable_interrupts(global);// Toda las interrupciones desactivadas
do{
   if(input(Pin_b1==0)){  // si se presenta un cero en el pin B1 del puerto
pulsos++;}//incremento la variable
//delay_ms(50);//retardo de incremento
lcd_gotoxy(1,1);//Para escribir siempre en la misma posición
printf(lcd_putc,"pulsos= %lu",pulsos); //presento la variable por el lcd
}while(true); //ciclo infinito
}
Si quieres trascender..., enseña humildemente  lo que sabes.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: como preguntar por el pin
« Respuesta #8 en: 21 de Septiembre de 2009, 23:04:31 »
kidpic, por favor identa un poco el codigo asi es mas legible. Cual es el problema? Eso compila y no te funciona? o directamente no compila? Seguro q conectaste correctamente todo en el circuito? Revisaste los pines de alimentacion, el reset, el lcd, etc?
saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado fabianjsm

  • PIC18
  • ****
  • Mensajes: 255
    • fabianjsm is on twitter
Re: como preguntar por el pin
« Respuesta #9 en: 22 de Septiembre de 2009, 01:19:05 »
Donde haces if(input(Pin_b1==0))... debes hacer if(input(Pin_b1) == 0), o if(!input(Pin_b1)), segun tu gusto ;-)
Compilara sin problemes porque es equivalente a hacer input(0): Pin_b1 se define como 49 en 16F877.h (#define Pin_b1 49), luego 49 == 0 es siempre igual a  0.
@fabianjsm is on twitter


 

anything