Autor Tema: Definir pin entrada negado en CCS.  (Leído 2288 veces)

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

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Definir pin entrada negado en CCS.
« en: 23 de Julio de 2012, 20:31:13 »
Tengo definido un pin de entrada en CCS de este modo:

Código: [Seleccionar]
#bit   INC  =  PORTA.0

¿Como lo puedo definir negado? es decir, ahora lo tengo con una resistencia pull-up, y al presionar el boton tengo un '0', y quiero que al leer INC con el boton pulsado lea un '1'. Con leer me refiero a esto:

Código: [Seleccionar]
if(INC)
{
//INC vale '1', fisicamente es un cero.
}

Podria hacer esto:

Código: [Seleccionar]
if(!INC)
{
}

Pero es más intuitivo lo anterior.

Saludos!
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Definir pin entrada negado en CCS.
« Respuesta #1 en: 23 de Julio de 2012, 21:10:08 »
Hola

Podrías utilizar la directiva #define para asignar el valor en un macro? (utilizando !input_state(pin_a0))

Saludos
El papel lo aguanta todo

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Definir pin entrada negado en CCS.
« Respuesta #2 en: 23 de Julio de 2012, 23:50:37 »
#define INC !PORTA.0

de todas formas no te seria mas sencillo poner if(!INC) o if(INC==0) {

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Re: Definir pin entrada negado en CCS.
« Respuesta #3 en: 24 de Julio de 2012, 09:24:24 »
OK, de esta forma funciona:

#define INC !input_state(pin_a0)

A la hora de seguir el programa es más intuitivo pensar que un '1' es boton pulsado, de otra forma hay que pensar en logica inversa.

Gracias.
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡