TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado 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
-
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.
-
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
-
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);