TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado 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. :)
#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);
}
}
}
-
Hola! El programa esta dentro de todo bien, solo le erraste en el if, el ==0 va fuera del parentesis.
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!!
-
Hola! El programa esta dentro de todo bien, solo le erraste en el if, el ==0 va fuera del parentesis.
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. :) :)
-
si quieres mas rapidez, sustituye
input(PULSADOR==0)
por
input_state(PULSADOR==0)
mas elegante:
if(!input_state(PULSADOR))
-
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()?
-
en la ayuda si está
Syntax:
value = input_state(pin)
Function:
This function reads the level of a pin without changing the direction of the pin as INPUT() does.