TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: juansi en 27 de Junio de 2009, 15:02:52
-
hola amigos, os queria hacer otra preguntilla que es la siguiente:
¿como podria borrar un solo digito del lcd?
me explico, cuando tengo un mensaje en la lcd quiero borrar solo una posicion del cursor(por ejemplo la posicion "lcd_gotoxy(2,2);"), lo que me pasa es q
si uso \b el cursor pasa por encima pero no lo borra.
gracias.
-
jeje mándale un espacio en blanco
lcd_gotoxy(2,2);
printf(lcd_putc," ");
-
Y según la librería puedes colocar directamente lcd_putc(" ") para colocar el espacio en blanco.
-
hola juansi podrias posicionar el cursor y mandar un espacio para borrarlo ej
lcd_gotoxy(2,2);
lcd_putc(' ');
de esta forma borras el 2do caracter de la 2da linea
-
amigos pirmero muchas gracias porq me funciono, pero ahora me parpadea el digito,
¿hay otro metodo q me lo solucione?
es para un programa q cuenta segundos, para q cuando pase de 10 y llege al final vuelva a 0 y empieza de nuevo, la
parte del programa es la siguiente:
lcd_gotoxy(1,1);
lcd_putc("Ti.Pas.Avan.Pul." ) ;
lcd_gotoxy(1,2);
lcd_putc(" ");
lcd_gotoxy(1,2);
printf(lcd_putc,"%u",lat);
lcd_gotoxy(4,2);
printf(lcd_putc,"%u",pas / 2);
lcd_gotoxy(8,2);
printf(lcd_putc,"%u",avc);
lcd_gotoxy(13,2);
printf(lcd_putc,"%u",pul);
gracias por vuestra ayuda
-
Realizalo agregando un cero cuando se represente un solo digito. En este caso no borras, solamente reescribes:
printf(lcd_putc,"%02u",lat);
-
Puedes limpiar pantalla
lcd_putc("\fTi.Pas.Avan.Pul." );
-
gracias amigos por las respuestas, lo de refrescar pantalla ya lo intente y me parpadeaba para este caso
asi q me quedo con la solucion de suky "printf(lcd_putc,"%02u",lat);", pero me podiais explicar como interpreta el 02u el compilador?
gracias
-
%02u: En este caso convierte el entero a 2 cifras, y en el caso de ser menor a 10 completa con ceros. Por ejemplo en otro caso:
Se imprime:
007
-
vale lo capto.
mil gracias