Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: jftrujilloa en 05 de Diciembre de 2010, 11:01:50
Título: Problema con una funcion
Publicado por: jftrujilloa en 05 de Diciembre de 2010, 11:01:50
Muy wenas.. de nuevo estoy aqui y me topo con un problema. Estoy haciendo una funcion en la que me desplace un texto de izquierda a derecha en un LCD 2x16, estoy trabajando con proteus y el pic16f877. El problema que tengo es que al introducir la cadena, en este caso la frase "hola" solo me desplaza la letra h. Me supongo que sea porque el valor que regresa la funcion al ser tipo char, me regresa el primer caracter que recoje en este caso la "h" no?. Como puedo hacer para que me trabaje con la cadena completa???
Código: C++
#include <16f877.h>
#use delay(clock=4000000) //Trabajo a 4MHz
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP
#include <LCD_flexible.c>
#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)
//Funcion a la derecha
void derecha(char c)
{
int y=1,x=1,h=0;
lcd_init();
while(TRUE)
{
lcd_gotoxy(x,y);
lcd_putc(c);
delay_ms(100);
x++;
h++;
lcd_gotoxy(h,y);
lcd_putc("\f");
if(x>16)
{
x=1;
h=0;
}
}
}
void main(void)
{
derecha("hola");
}
Título: Re: Problema con una funcion
Publicado por: AngelGris en 05 de Diciembre de 2010, 13:00:37
Yo buscaría en el datasheet del display ya que me pareció haber visto en el datasheet del HD44780 que tiene una función para hacer eso.
Título: Re: Problema con una funcion
Publicado por: QIQE en 05 de Diciembre de 2010, 13:59:06
has probado variando el valor del gotoxy??
Título: Re: Problema con una funcion
Publicado por: Suky en 05 de Diciembre de 2010, 14:57:10