Autor Tema: Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))  (Leído 2389 veces)

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

Desconectado alperez

  • PIC18
  • ****
  • Mensajes: 255
Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))
« en: 10 de Mayo de 2013, 18:47:54 »
A ver si alguien sabe de alguna diferencia entre estas dos expresiones, por que yo pensaba que era lo mismo y he perdido como dos horas.
Realmente no es lo mismo, os lo aseguro.

Compilador CCS 4.134 y pic 16f1825

Desconectado Nubbeo

  • PIC10
  • *
  • Mensajes: 12
Re: Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))
« Respuesta #1 en: 10 de Mayo de 2013, 19:01:55 »
Obvio que no son lo mismo. Lo que pasa es que la primera está mal escrita si lo que queres es que sean iguales.

if(input(PIN_A4)==1) es lo mismo que if(input(PIN_A4))


Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))
« Respuesta #2 en: 10 de Mayo de 2013, 19:22:06 »
Claro, porque PIN_A4 es una constante para el compilador, asi que la condicion es falsa siempre.

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))
« Respuesta #3 en: 10 de Mayo de 2013, 19:34:33 »
Yo nunca he tenido problemas con la expresión: if(input(PIN_A4)) Si te fijas en el manual de CCS, así es que aparecen los ejemplos, por lo que creo que el compilador lo que evalúa es el estado del pin. Si se quiere evaluar el estado 0 del pin, entonces sería: if(!input(PIN_A4))

Saludos!

Desconectado alperez

  • PIC18
  • ****
  • Mensajes: 255
Re: Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))
« Respuesta #4 en: 10 de Mayo de 2013, 19:41:13 »
Uf! entonces va a ser que son las 0:40

Desconectado alperez

  • PIC18
  • ****
  • Mensajes: 255
Re: Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))
« Respuesta #5 en: 10 de Mayo de 2013, 19:46:10 »
El problema que tengo es que if(input(PIN_A4)) me apaga el pin

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))
« Respuesta #6 en: 10 de Mayo de 2013, 20:04:12 »
Podrías mostrar la parte de código donde crees que esa expresión te está apagando el pin?

Saludos!

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))
« Respuesta #7 en: 10 de Mayo de 2013, 20:08:47 »
Tienes un led o algo así conectado a ese pin??

por supuesto que esa instrucción lo apagara, ya que para hacer el test pone el pin como entrada !! :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado alperez

  • PIC18
  • ****
  • Mensajes: 255
Re: Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))
« Respuesta #8 en: 10 de Mayo de 2013, 20:18:13 »
Tienes un led o algo así conectado a ese pin??

por supuesto que esa instrucción lo apagara, ya que para hacer el test pone el pin como entrada !! :mrgreen: :mrgreen:

ya pero me imaginaba que despues lo dejaria como estaba  :)

Pero ya está solucionado


Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))
« Respuesta #9 en: 12 de Mayo de 2013, 12:32:56 »
Tienes un led o algo así conectado a ese pin??

por supuesto que esa instrucción lo apagara, ya que para hacer el test pone el pin como entrada !! :mrgreen: :mrgreen:

ya pero me imaginaba que despues lo dejaria como estaba  :)

Pero ya está solucionado

Decías que las instrucciones (del título) eran diferentes; por que?  Según lo que dice Marcos, que es correcto, con ambas formas de escribir la instrucción se apagaría la salida.

Saludos!

Desconectado alperez

  • PIC18
  • ****
  • Mensajes: 255
Re: Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))
« Respuesta #10 en: 12 de Mayo de 2013, 16:36:32 »
las dos lo apagaban y pensaba que si lo hacía de la forma correcta el pic lo quedaba en su estado anterior, pero ya he visto que no. Se trata de apagarlo o encenderlo en funcion de su estado anterior

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))
« Respuesta #11 en: 12 de Mayo de 2013, 20:57:20 »
Hola

Si quieres que no se modifique el TRIS, utiliza: input_state();

saludos
El papel lo aguanta todo

Desconectado alperez

  • PIC18
  • ****
  • Mensajes: 255
Re: Diferencia entre if(input(PIN_A4 == 1)) y if(input(PIN_A4))
« Respuesta #12 en: 13 de Mayo de 2013, 12:12:09 »
Hola

Si quieres que no se modifique el TRIS, utiliza: input_state();

saludos

Bravo  :-/


 

anything