TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: dbagnis en 20 de Enero de 2015, 11:29:29

Título: Ayuda!!.. Problema con compilador y programita muy simple.
Publicado por: dbagnis en 20 de Enero de 2015, 11:29:29
Hola. Buenos días a todos. Recurro a ustedes ya que agote todas las posibilidades que se me ocurrieron. Estoy en mis primeros pasos con el compilador CSS 5. Vengo del basic y estoy un tanto perdido. Hice un circuito muy simple en Proteus, donde tengo un pic 16F88 y un display LCD (vengo luchando con esto desde hace varios dias) queria iniciar el conversor analogico/digital, pero por ahora me conformo con hacer que aparezca algo en el display LCD. El programa que estoy usando es este:


#include <16f88.h>            //pic a utilizar         
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP      //ordenes para el programador
#use delay (clock=4000000)         //Fosc=4Mhz
#define use_portb_lcd TRUE         //definir portb lcd
#include<lcd.c>                  //libreria manejo lcd

void main(void)
{
   lcd_init();         //inicializa lcd
   printf(lcd_putc,"hola mundo ; )
VsZeNeR"05" );   //muestra por pantalla el mensaje   
}

Lo deben conocer.....
Resulta que me da este error:

****error 51"hola mundo.c" line15(11,12):A numeric expression must apear here
****error 79"hola mundo.c" line15(11,12):Expect }
       2 Errors, 0 Warnings
Builded fail


Si yo no me equivoco, me esta diciendo que hay un error en la linea 15...como puede ser?.. si el programita llega a la linea 13?.
Necesito resolver esto porque me encuentro en un callejón. Como se que ustedes son muy caritativos, seguramente para ustedes es una tontería, me van a indicar el error.
Desde ya muchas gracias
Título: Re: Ayuda!!.. Problema con compilador y programita muy simple.
Publicado por: KILLERJC en 20 de Enero de 2015, 11:36:21
Citar
void main(void)
{
   lcd_init();         //inicializa lcd
  printf(lcd_putc,"hola mundo ; )
VsZeNeR"05" );
  //muestra por pantalla el mensaje  
}

esta linea:
printf(lcd_putc,"hola mundo ; )

tiene el ; adentro de la funcion y le falta una comilla, deberia ser printf(lcd_putc,"hola mundo");
fijate que el mensaje esta encerrado entre comillas para indicar que es un string o cadena de caracteres


esta linea:
VsZeNeR"05" );

No tiene sentido
Si tu intencion fue poner 2 lineas en el LCD, usas

printf(lcd_putc,"hola mundo");
lcd_gotoxy(1,2); // Columna , Fila
printf(lcd_putc,"VsZeNeR05");

y deberia andar imagino

Por lo demas te recomiendo leer algo de programacion en C, son errores muy basicos.
Título: Re: Ayuda!!.. Problema con compilador y programita muy simple.
Publicado por: dbagnis en 20 de Enero de 2015, 11:44:27
Hola!.. ;Muchas gracias. No entiendo como se me paso ese error. De todas formas me parece curioso que me indicara el error en la linea 15. Bueno, al menos ya compiló. Ahora a luchar con el Proteus.. Muchas gracias
Título: Re: Ayuda!!.. Problema con compilador y programita muy simple.
Publicado por: Berto en 25 de Julio de 2015, 11:41:09
Si. Aveces la linea donde marca el error no coincide, suele estar ligada a otra ubicacion responsable. Suele pasar mucho esto con la colocacion de { y }
Si quieres simplificar un poco mas puedes hacer esto:

lcd_putc("hola mundo");

el "printf" solo es necesario cuando hay variables de por medio como:

printf(lcd_putc,"hola mundo %d",año);