Autor Tema: Fallo lcd420.c CCS se come letras?  (Leído 2185 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado al9

  • PIC10
  • *
  • Mensajes: 16
Fallo lcd420.c CCS se come letras?
« en: 13 de Diciembre de 2009, 21:30:01 »
Hola

Tengo un problemilla bastante tonto con el CCS y es que al usar un display de 4x20 y la libreria lcd420.c (bueno una parecida), cuando intento hacer:

Código: [Seleccionar]
  printf(lcd_putc, "bender");
   printf(lcd_putc, "charly ");
   printf(lcd_putc, "domino ");
   printf(lcd_putc, "cuarto ");

Aparece en pantalla: ender harly omino uarto  :shock:
Si lo pongo en mayuscula no hay problema...

Creo que en esta parte de código los códigos de escape se confunden:

Código: [Seleccionar]
void lcd_putc( char c ) {
switch(c) {
case '\f' : lcd_send_byte(0,LCD_CLR_DISP);
lcd_line=1;
delay_ms(2); break;
case '\n' : lcd_gotoxy(1,++lcd_line); break;
case '\b' : lcd_send_byte(0,LCD_MOVE_CURSOR_LEFT); break;
case '\c' : lcd_send_byte(0,LCD_DISP_ON_CURSOR); break;
case '\d' : lcd_send_byte(0,LCD_DISP_ON_BLINK); break;
case '\1' : lcd_send_byte(1,LCD_DEGREE_CHAR); break;
default : lcd_send_byte(1,c); break;
}
}



Alguna idea?

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Fallo lcd420.c CCS se come letras?
« Respuesta #1 en: 14 de Diciembre de 2009, 15:09:11 »
Prueba declarándolas como constantes desde el principio de la función en donde están...

Código: [Seleccionar]
const char cad1[] = "bender";
...
const char cad4[] = "cuarto";

...

   printf(lcd_putc, "%s", cad1);
   ...
   printf(lcd_putc, "%s", cad4);

Desconectado al9

  • PIC10
  • *
  • Mensajes: 16
Re: Fallo lcd420.c CCS se come letras?
« Respuesta #2 en: 10 de Enero de 2010, 14:23:36 »
Tampoco funciona..

¿Sabeis cómo se traduce esto en códigos ASCII?

\f
\n
\b
\c
\d


Desconectado maxluis

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 129
Re: Fallo lcd420.c CCS se come letras?
« Respuesta #3 en: 11 de Enero de 2010, 00:12:56 »
Estimado: Alguna vez me paso algo similar...y estaba relacionado con los caracteres que usa la libreria en algunos comandos...si mal no recuerdo..yo reemplace alguna funcion como " saltar a la linea 4 " por " /k" y cada vez que queria usar el la "k" para sacarla por lcd...se la "comia" revisa por ahi.
saludos.
Maxluis