TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: ingero en 14 de Marzo de 2011, 19:55:49
-
esity realizando mi codigo para mic que manipule un lcd pero me salen una seri de errores provenientes del archivo lcd.c, todo en el void esta perfecto.los errores generados son en el archivo lcd.c.!! son 6 errores
#include <18f2550.h> //pic a utilizar
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP //ordenes para el programador
#use delay (clock=4000000) //Fosc=4Mhz //definir portb lcd
#include <lcd.c> //libreria manejo lcd
///PROGRAMA
void main(void)
{
char y=1; //indice columnas
signed char x=1; //indice filas
lcd_init(); //inicializa lcd
while(TRUE){ //bucle...
lcd_gotoxy(x,y) ; //cursor para escribir mensaje
lcd_putc("VsZeNeR"05" ) ; //muestra por pantalla el mensaje
delay_ms(150);
x++; //incremento indice de filas
if(x>16){ //¿ya se ha mostrado mensaje entero por 1ºfila?
x=-8; //SI -> indice fila x=-8
y++; //incremento indice columnas
if(y>2) //¿ya se ha mostrado mensaje por 2º columna?
y=1; //SI -> restauro indice columna
}
lcd_putc("f" ) ; //borra pantalla
} //...infinito
}
en la iagen se ven los errores que genera, que hago ayuda , no se que hacer , donde esta el error?
-
esity realizando mi codigo para mic que manipule un lcd pero me salen una seri de errores provenientes del archivo lcd.c, todo en el void esta perfecto.los errores generados son en el archivo lcd.c.!! son 6 errores
Bueno, después de decodificar el mensaje te puedo comentar que seria útil que indiques por lo menos que errores te indica :?
Saludos!
-
esity realizando mi codigo para mic que manipule un lcd pero me salen una seri de errores provenientes del archivo lcd.c, todo en el void esta perfecto.los errores generados son en el archivo lcd.c.!! son 6 errores
Bueno, después de decodificar el mensaje te puedo comentar que seria útil que indiques por lo menos que errores te indica :?
Saludos!
ya te adjunte el panmtallazo haber si asi me puede ayudar, gracias
-
mmm... puede ser que la inclusión del archivo sea en la posición incorrecta, debe ser:
#include <p....>
#fuses....
#use clock(4M)
y luego #include <lcd.c>
Lo único que se me ocurre.
Saludos!
-
Pues ...
podría ser que el 2550 no tiene puerto D ... puedes postear el código que usas?
-
Pues ...
podría ser que el 2550 no tiene puerto D ... puedes postear el código que usas?
También! jajaja! No me fije en ese detalle :mrgreen:
-
Hola ingero, aparte de lo que ta han dicho los colegas, veo en el pantallazo que tu compilador está seleccionado arriba en la parte donde dice: Lookup Part en: PCM 14 bit. Allí debería aparecer después de compilar un PIC18: PCH 16 bit.
Si has seleccionado correctamente el PIC? Fíjate en el Menú: Options -> Project Options -> Target: PIC18F2550; si allí está bien, entonces que versión de CCS tienes?
Yo acabo de compilar (CCS PCWHD V4.108) el programa que muestras y solo me da un error aquí:
lcd_putc("VsZeNeR"05" ) ;
Y es porque le sobran las comillas que tiene después de VsZeNeR". Si quisieras conservar esas comillas deberás ponerlas así:
lcd_putc("VsZeNeR\"05" ) ;
Finalmente si te fijas en lo que te han dicho del puerto D y vas a configurar el LCD con los pines del puerto B, deberías incluir el fuse: NOPBADEN ya que sin este los pines del puerto B que sean análogos se iniciarán como tal en un POR (power on reset) del PIC.
Saludos!
-
Hola ingero, aparte de lo que ta han dicho los colegas, veo en el pantallazo que tu compilador está seleccionado arriba en la parte donde dice: Lookup Part en: PCM 14 bit. Allí debería aparecer después de compilar un PIC18: PCH 16 bit.
Si has seleccionado correctamente el PIC? Fíjate en el Menú: Options -> Project Options -> Target: PIC18F2550; si allí está bien, entonces que versión de CCS tienes?
Yo casi no uso CCS, pero al colocar #include <p...> me acuerdo que seleccionaba solo el modo PCH o PCM... O por lo menos nunca me tuve que fijar en ese detalle antes de compilarlo :?
Saludos!
-
Si tenes el LCD conectado al puerto B del pic, tenes q poner esta definicion antes de incluir lcd.c
#define use_portb_lcd TRUE
#include <lcd.c>
Ademas para imprimir una cadena de caracteres no podes hacerlo con putc(), ya que esa funcion imprime un solo caracter. Tenes q usar puts() o printf()
saludos!!
-
proba con esto a ver si compila:
#include <18f2550.h> //pic a utilizar
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP //ordenes para el programador
#use delay (clock=4000000) //Fosc=4Mhz //definir portb lcd
#define use_portb_lcd TRUE
#include <lcd.c> //libreria manejo lcd
///PROGRAMA
void main(void)
{
lcd_init(); //inicializa lcd
while(TRUE){ //bucle...
printf(lcd_putc,"\fhola!!!");
delay_ms(1000);
}
}
para conectar el lcd al puerto B hacelo de la siguiente manera:
LCD_ENABLE_PIN PIN_B0
LCD_RS_PIN PIN_B1
LCD_RW_PIN PIN_B2
LCD_DATA4 PIN_B4
LCD_DATA5 PIN_B5
LCD_DATA6 PIN_B6
LCD_DATA7 PIN_B7
-
Hola ingero, aparte de lo que ta han dicho los colegas, veo en el pantallazo que tu compilador está seleccionado arriba en la parte donde dice: Lookup Part en: PCM 14 bit. Allí debería aparecer después de compilar un PIC18: PCH 16 bit.
Si has seleccionado correctamente el PIC? Fíjate en el Menú: Options -> Project Options -> Target: PIC18F2550; si allí está bien, entonces que versión de CCS tienes?
Yo casi no uso CCS, pero al colocar #include <p...> me acuerdo que seleccionaba solo el modo PCH o PCM... O por lo menos nunca me tuve que fijar en ese detalle antes de compilarlo :?
Saludos!
Hola Suky si, asi es no hay necesidad de fijarse ya que el compilador lo hace solo. Por eso es que me llamó la atención lo que se ve en la imagen. Creo que la versión del compilador es solo para PIC16, o ingero seleccionó mal el PIC al momento de crear el proyecto.
Si tenes el LCD conectado al puerto B del pic, tenes q poner esta definicion antes de incluir lcd.c
#define use_portb_lcd TRUE
#include <lcd.c>
Ademas para imprimir una cadena de caracteres no podes hacerlo con putc(), ya que esa funcion imprime un solo caracter. Tenes q usar puts() o printf()
saludos!!
Hola gera, la verdad es que desconozco la razón, pero en CCS si funciona directamente la instrucción lcd_putc("VsZeNeR 05" ) ;
Saludos!
-
yo tenia el mismo problema pense que era error por la instalacion en el windows 7 pero solo consegui las libreria de lcd y la sustitui por la ya existente lo hize como dos veces y ya despues me compilo sin ningun problema. espero te ayude