TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: micro_pepe en 23 de Julio de 2012, 20:31:13

Título: Definir pin entrada negado en CCS.
Publicado por: micro_pepe 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!
Título: Re: Definir pin entrada negado en CCS.
Publicado por: MLO__ 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
Título: Re: Definir pin entrada negado en CCS.
Publicado por: MerLiNz 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) {
Título: Re: Definir pin entrada negado en CCS.
Publicado por: micro_pepe 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.