Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

29/06/2009 #1


Nuevo en C, duda con mi primer programa.
Hola a todos, estoy iniciandome en la programación en C para pic, vengo del picbasic pero aun asi estoy muy oxidado, en fín a ver si me podeis echar una mano.
Se trata de hacer que por el puertoB se enciendan 8 led correlativamente, este es el código:

Código:
#include <16F628a.h>
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES XT                       //Crystal osc <= 4mhz
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES BROWNOUT                 //Reset when brownout detected
#FUSES MCLR                     //Master Clear pin enabled
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection
#use delay(clock=4000000)
#use fast_io (a)
#use fast_io (b)
int const carrier[10]={0b00000000,0b00000001,0b00000010,0b00000100,0b00001000,0b00010000,0b00100000,0b01000000,0b10000000,0b11111111}
main(){
set_tris_b(0);
int salida=0;
output_b(0);
for( ; ; ){
for (salida=0;salida=9;salida++){
output_b(carrier[salida]);
delay_ms(100);
}
}
}
***********************Y como no, estos son los errores que me da el pcw********************
*** Error 36 "carrier_led.c" Line 14(1,5): Expecting a ; or ,
*** Error 43 "carrier_led.c" Line 14(6,7): Expecting a declaration
*** Error 43 "carrier_led.c" Line 14(7,8): Expecting a declaration
*** Error 28 "carrier_led.c" Line 15(12,13): Expecting an identifier
*** Error 43 "carrier_led.c" Line 15(14,15): Expecting a declaration
*** Error 28 "carrier_led.c" Line 17(10,11): Expecting an identifier
*** Error 43 "carrier_led.c" Line 17(12,13): Expecting a declaration
*** Error 43 "carrier_led.c" Line 18(1,4): Expecting a declaration
*** Error 43 "carrier_led.c" Line 18(4,5): Expecting a declaration
*** Error 43 "carrier_led.c" Line 18(6,7): Expecting a declaration
*** Error 43 "carrier_led.c" Line 18(8,9): Expecting a declaration
*** Error 43 "carrier_led.c" Line 18(10,11): Expecting a declaration
*** Error 43 "carrier_led.c" Line 18(11,12): Expecting a declaration
*** Error 43 "carrier_led.c" Line 19(1,4): Expecting a declaration
*** Error 43 "carrier_led.c" Line 19(5,6): Expecting a declaration
*** Error 48 "carrier_led.c" Line 19(6,12): Expecting a (
*** Error 43 "carrier_led.c" Line 19(13,14): Expecting a declaration
*** Error 43 "carrier_led.c" Line 19(14,15): Expecting a declaration
*** Error 48 "carrier_led.c" Line 19(15,21): Expecting a (
*** Error 43 "carrier_led.c" Line 19(22,23): Expecting a declaration
*** Error 43 "carrier_led.c" Line 19(23,24): Expecting a declaration
*** Error 48 "carrier_led.c" Line 19(24,30): Expecting a (
*** Error 43 "carrier_led.c" Line 19(32,33): Expecting a declaration
*** Error 43 "carrier_led.c" Line 19(33,34): Expecting a declaration
*** Error 27 "carrier_led.c" Line 20(24,25): Expression must evaluate to a constant
*** Error 43 "carrier_led.c" Line 20(25,26): Expecting a declaration
*** Error 43 "carrier_led.c" Line 20(26,27): Expecting a declaration
*** Error 28 "carrier_led.c" Line 21(10,13): Expecting an identifier
*** Error 43 "carrier_led.c" Line 21(14,15): Expecting a declaration
*** Error 43 "carrier_led.c" Line 22(1,2): Expecting a declaration
*** Error 43 "carrier_led.c" Line 23(1,2): Expecting a declaration
*** Error 43 "carrier_led.c" Line 24(1,2): Expecting a declaration
32 Errors, 0 Warnings.
29/06/2009 #2


Hola, tal y como te dice el compilador, en la línea 14 te falta un punto y coma ( al final de la línea. Los demás errores creo que son consecuencia directa de éste. Pruébalo y comenta que tal.

Te aconsejo que les des un poco más de claridad a los programas que escribas, sobre todo en cuanto a tabulaciones y espacios entre distintos bloques, ya que de esta forma es más fácil corregirlos y entenderlos, más aún cuando el programa sea mucho mas grande que éste.

Un saludo.
29/06/2009 #3


Gracias, he probado pero sigue igual, la verdad es que es mi primer programa y me queda mucho por aprender.
29/06/2009 #4


Hola, te he corregido el programa. Además del fallo del punto y coma, el otro fallo que tenías es que no definías la variable "salida" al principio del programa, sino en medio, después de una instrucción.

Código:
#include <16F628a.h> 

#FUSES NOWDT //No Watch Dog Timer 
#FUSES XT //Crystal osc <= 4mhz 
#FUSES NOPUT //No Power Up Timer 
#FUSES NOPROTECT //Code not protected from reading 
#FUSES BROWNOUT //Reset when brownout detected 
#FUSES MCLR //Master Clear pin enabled 
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O 
#FUSES NOCPD //No EE protection 

#use delay(clock=4000000) 
#use fast_io (a) 
#use fast_io (b) 

int const carrier[10]={0b00000000,0b00000001,0b00000010,0b00000100,0b00001000,0b00010000,0b00100000,0b01000000,0b10000000,0b11111111};

main()
{ 
	int salida=0; 

	set_tris_b(0); 
	output_b(0); 

	for( ; ; )
		{ 
		for (salida=0;salida=9;salida++)
			{ 
			output_b(carrier[salida]); 
			delay_ms(100); 
			} 
		} 
}
Un saludo.
29/06/2009 #5


Muchas gracias, ahora no me da errores el compilador, ya voy tomandole el truquillo al asunto, ahora a darle vueltas al programa y a ver como trabaja.


Gracias....
16/11/2011 #6


hola, yo tambien soy nuevo en C alguien me podria ayudar con el siguiente programa, es muy similar al que esta arriba aqui se los dejo.
me marca como 30 errores pero no se como corregirlos
Archivos Adjuntos
Tipo de Archivo: rar picc.rar (1,1 KB (Kilobytes), 54 visitas)
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.