TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: maurihuarte en 16 de Noviembre de 2011, 20:09:33
-
Buenas tardes foreros
Estoy haciendo mis primeras pruebas con el CCS PHWD compiler 4.104
Mi programa es este:
#INCLUDE <16F877.h>
#FUSES XT,NOWDT
#use delay(clock= 400000)
#BYTE TRISB= 0x86
#BYTE PORTB= 0x06
#BYTE OPTION_REG= 0x81
void main(){
int16 seg=1000;
bit_clear(OPTION_REG,7);
bit_set(TRISB,0);
bit_clear(TRISB,1);
bit_clear(PORTB,1);
while (1){
if (bit_test(portb,0) == 1)
bit_clear(portb,1);
delay_ms (seg);
bit_set(portb,1);
delay_ms (seg);
bit_clear(portb,1);
else //linea 20
bit_set(portb,1);
}
}
Me aparece este error: A numeric expression must appear here. En la linea 20
Desde ya, muchas gracias por sus consejos.
-
te falta un { despues de if (bit_test(portb,0) == 1)
y otro { despues de else
y un } antes de else
-
te falta un { despues de if (bit_test(portb,0) == 1)
y otro { despues de else
y un } antes de else
Genial. Muchisimas gracias. Esto de los modos de declarar funciones y variables va a ser lo que mas me va a costar.
-
Buenas tardes.
Estoy empezando en este mundo y estoy teniendo el mismo error (no por primera vez).
#include<16f887.h>
#use delay(clock=20m)
#fuses hs,noprotect,nowdt,nobrownout,put,nolvp
#use fast_io(b)
#use fast_io(c)
void main()
{
set_tris_c(0b00000000);
output_c(0b00000000);
while(true)
{
if(input(pin_b0)==1);
{
delay_ms(500);
output_high(pin_c0);
}
else
{
output_low(pin_c0);
}
}
}
Porque me pasa?
Gracias
-
Elimina el ; al final del if
-
muchas gracias