TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: frozen en 27 de Noviembre de 2011, 12:17:26

Título: como leer el RA0 en CCS.
Publicado por: frozen en 27 de Noviembre de 2011, 12:17:26
Hola a todos. Iniciandome en ccs, al segundo paso me cai. jaja. Lo que sucede es que no se como leer una entrada. Aqui les dejo mi programa. Gracias. :)



Código: [Seleccionar]
#include <16f877a.h>
#use delay(clock=4M)
#define  LED (pin_b0)
#define  PULSADOR (pin_a0)
#use fast_io(a)
void main(){
            setup_adc_ports (NO_ANALOGS);
            set_tris_a(0xff);
            set_tris_b(0x00);
            output_b(0x00);
            while(true){
                       if(input(PULSADOR==0))
                         {
                        output_high(LED);
                        delay_ms(200);
                        output_low(LED);
                        delay_ms(200);
                         }
                       }                   
            }
Título: Re: como leer el RA0 en CCS.
Publicado por: gera en 27 de Noviembre de 2011, 12:37:40
Hola! El programa esta dentro de todo bien, solo le erraste en el if, el ==0 va fuera del parentesis.

Código: [Seleccionar]
if(input(PULSADOR)==0)
Ademas tenes q armar bien el circuito de entrada. Poner una resistencia de pull up y un pulsador a masa. De modo que siempre tengas un 1 o un 0 en la entrada y no la tengas flotante.
Saludos!!
Título: Re: como leer el RA0 en CCS.
Publicado por: frozen en 27 de Noviembre de 2011, 12:54:15
Hola! El programa esta dentro de todo bien, solo le erraste en el if, el ==0 va fuera del parentesis.

Código: [Seleccionar]
if(input(PULSADOR)==0)
Ademas tenes q armar bien el circuito de entrada. Poner una resistencia de pull up y un pulsador a masa. De modo que siempre tengas un 1 o un 0 en la entrada y no la tengas flotante.
Saludos!!

a ok. gracias por tu ayuda. :) :)
Título: Re: como leer el RA0 en CCS.
Publicado por: PalitroqueZ en 27 de Noviembre de 2011, 14:35:23
si quieres mas rapidez, sustituye

input(PULSADOR==0)

por

input_state(PULSADOR==0)

mas elegante:

if(!input_state(PULSADOR))


Título: Re: como leer el RA0 en CCS.
Publicado por: gera en 27 de Noviembre de 2011, 17:59:45
input_state(PULSADOR==0)

Nunca habia visto esa funcion, y no la encontre en el manual de CCS. Q hace exactamente y q diferencia hay con input()?
Título: Re: como leer el RA0 en CCS.
Publicado por: jhozate en 27 de Noviembre de 2011, 18:07:54
en la ayuda si está
Citar
Syntax:
 value = input_state(pin)
Function:
 This function reads the level of a pin without changing the direction of the pin as INPUT() does.