Autor Tema: escribir variable Int desde C18  (Leído 1957 veces)

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

Desconectado PICYO

  • PIC16
  • ***
  • Mensajes: 104
escribir variable Int desde C18
« en: 19 de Marzo de 2011, 07:45:54 »

Hola, estoy tratando de escribir una variable ( el contaje de una variable) en un LCD. Desde el principio estaba usando la librería XLD para C18, pero ahora se me ha quedado" corta", o almenos es lo que pienso yo. Tengo una variable int.
COn las funciones que hay descritas no hay, o  yo no veo, cómo escribir datos enteros al LCD. Es perfcta para escribir cadenas de caracteres, pero no datos, al estilo como printf(), en CCS.
Asi que he optado por convertir la variable entera a char, y luego que la muestre :
Código: C
  1. pos=PosicionaMenu(EscTecla,pposicionActual);   // esta funcion me devuelve un entero que guardo en pos
  2. posChar=(char)pos; // convierto ese int a char
  3. clearDisplay();  
  4. comandXLCD(0x06); //
  5. comandXLCD(0x0C);                      
  6. gotoxyXLCD(1,1);
  7. putrsXLCD(posChar);// he probado con esta y la otra funcion para escribir caracteres o cadenas
Y bueno, escribe unos caracteres pero para nada el numero. Creía que lo que estaba haciendo era pasar el numero decimal al caracter correspondiente al codigo ASCII, y de ese modo hacer yo una adaptacion, pero no es así, y no se ya como proceder...

Desconectado PICYO

  • PIC16
  • ***
  • Mensajes: 104
Re: escribir variable Int desde C18
« Respuesta #1 en: 19 de Marzo de 2011, 08:22:06 »
Bueno, buscando otra cosa..he dado con la solucion a esta !

Iba bien al convertir la variable, pero no con la función apropiada. Se ha de usar :

Código: C
  1. int pos;
  2. char posChar[10];
  3. pos=PosicionaMenu(EscTecla,pposicionActual);   // devuelve entero
  4. itoa(pos,posChar); // pasa a char una
  5. putsXLCD(posChar);  // ahora puedo usar esta funcion tranquilamente


 

anything