Hola que tal a todos, de antemano les agradezco el tiempo que se toman por leer mi pregunta. Lo que pasa es que quiero aprender a programar un LCD utilizando C18 con la librería XLCD.h que ya viene con el compilador. El problema que tengo es que puedo hacer que la función:
putcXLCD(´a´);
me imprima este carácter, osea funcione de maravilla, mas sin embargo cuando trato de usar la función:
putrsXLCD("texto");
no imprime nada, no hace nada pues y la verdad no se por que, si en todos lados he visto que así es como se debe de usar esa función. He tratado también de usar la instrucción
putsXLCD(variable) y tampoco funciona.
A continuación les pongo el código, yo no creo que sea algo de hardware,por que entonces: Por que si funciona utilizando la instrucción putcXLCD('a')?
Les dejo el código para ver que opinan:
GRACIAS. Si encuentro la respuesta antes, yo se las hare saber
putcXLCD(´a´);
me imprima este carácter, osea funcione de maravilla, mas sin embargo cuando trato de usar la función:
putrsXLCD("texto");
no imprime nada, no hace nada pues y la verdad no se por que, si en todos lados he visto que así es como se debe de usar esa función. He tratado también de usar la instrucción
putsXLCD(variable) y tampoco funciona.
A continuación les pongo el código, yo no creo que sea algo de hardware,por que entonces: Por que si funciona utilizando la instrucción putcXLCD('a')?
Les dejo el código para ver que opinan:
Código:
#include<p18f2550.h>
#include<delays.h>
#include<xlcd.h>
#pragma config FOSC = XT_XT, FCMEN= OFF, IESO= OFF, CPUDIV= OSC1_PLL2
#pragma config PWRT= ON, BOR= OFF, BORV=0
#pragma config WDT= OFF, WDTPS = 32768
#pragma config MCLRE= ON, LPT1OSC=OFF, PBADEN= OFF, CCP2MX=OFF
#pragma config STVREN= OFF, LVP= OFF, XINST=OFF, DEBUG= OFF
#pragma config CP0= ON, CP1= ON, CP2= ON
#pragma config CPB=ON, CPD= ON
#pragma config WRT0= ON, WRT1 = ON, WRT2=ON
#pragma config WRTB = ON, WRTC= ON, WRTD=ON
#pragma config EBTR0= ON, EBTR1 = ON, EBTR2=ON
#pragma config EBTRB=ON
void DelayFor18TCY(void)
{
Delay10TCYx(2);
}
void DelayPORXLCD(void)
{
Delay1KTCYx(15);
}
void DelayXLCD(void)
{
Delay1KTCYx(2);
}
//ENVIA COMANDO AL LCD
void comandXLCD(unsigned char a)
{
BusyXLCD();
WriteCmdXLCD(a);
}
void main()
{
OpenXLCD(FOUR_BIT & LINES_5X7);
comandXLCD(0x06);
comandXLCD(0x0c);
putcXLCD('a');
putrsXLCD("HOla Mundo");
while(1)
{
}
}
GRACIAS. Si encuentro la respuesta antes, yo se las hare saber
Última edición por un moderador: