#include <18F4550.h>
#fuses XT, NOWDT, NOPUT, NOPROTECT, NOPBADEN
#define LCD_DB4 PIN_B4 //Posición del PIN D4
#define LCD_DB5 PIN_B5 //Posición del PIN D5
#define LCD_DB6 PIN_B6 //Posición del PIN D6
#define LCD_DB7 PIN_B7 //Posición del PIN D7
#use delay (clock=4000000)
#use standard_io(A,B)
//#define use_portb_lcd TRUE;
#include <lcd.c>
void main()
{ int result;
setup_adc_ports(NO_ANALOGS);//todos los puertos digitales
lcd_init();
result=1998;//0x7CE;
printf(lcd_putc,"%d",result);
return;
}
La pregunta es... podes escribir cualquier otra cosa ? Texto por ejemplo? O solo el numero te saca basura ?
Ej:Código: C
Proba con %LuNo amigo me arroja error, probe con las salidas hexadecimales y si las agarra las convierte mayus y miniscula pero %Lu no lo agarra.
Long Unsigned,
Ya que segun el manual de CCS:
u - Unsigned INT ( el int de CCS es de 8 bits )
d - Signed INT
x - Hex INT
Lu - Long unsigned
Lx - Long hex
con la L en minuscula? es la unica opcion que me queda realmente. Si eso no funciona entonces no se que hacer mas que proveer algun otro tipo de funcion para que convierta el numero en un string.:( :( :( Nada amigo. El problema es que yo tengo que crear una calculadora y me proporcionaron un teclado matricial pero este mismo trabaja con puro "char", yo leo cada dato y lo envío a través del código , entonces operaciones como (+,-,*) las efectúa bien siempre y cuando no exceda el "255". Básicamente la lcd solamente me permite mostrar 255/0xFF/ Que corresponde con el código ASCII entonces cualquier valor que supere el 255, se reinicia y comienza a generar "basura".