Punto flotante en LCD
| #1 Punto flotante en LCD |
|
Alberth
|
Alguien sabe como enviar un numero punto flotante a una LCD ej. 23.45? estoy programando en C...
|
|||||||||||
|
|
||||||||||||
| #2 |
|
alejandro_oo
|
En C es muy sencillo:
Desde luego “valor” debe ser una variable de tipo flotante y tener asignado el valor que quieres mostrar, “lcd_caracter” es la función que imprime en el LCD (obvio, jajaja), el nombre variara para cada quien. Cualquier cosa comentala Saludos, |
|||||||||||
|
|
||||||||||||
| #3 Como limito el numero de decimales? |
| #4 |
|
leo_programer
|
que mas jaisser?
yo por lo general usaba librerias creadas por mi para envio de datos al lcd, lcd_putc no se si envia un caracter por caracter o si toda la cadena... ahi es donde esta el punto, sea lo que sea, envia es una cadena, asi que su valor de coma flotante deben convertirlo en una cadena, algo como ftoa (float to ascii), si la encuentran usenla, la convierten y la envian al lcd, asi es como funciona...cualquier cosa me comenta... cuidensen... |
|||||||||||
|
|
||||||||||||
| #5 |
|
Alejandro Sherar
|
Esta rutina convierte un 'int' sin signo hasta 999, en una cadena de hasta 3 dígitos decimales
que se puede mandar a un LCD en modo texto.
Para ampliar a todo el rango de 'int' (0-65535) se debería agrandar el string a 6 caracteres (5 dígitos más el fin de cadena), y agregar dos variables (unidades y decenas de mil).
El paso a decimal no lo pensé, pero con este algoritmo en mente no debería ser muy difícil. En todo caso, falta detectar en que momento se guarda el punto. Por favor, si le encuentran errores me avisan. Gracias. |
|||||||||||
|
Ultima edición por Alejandro Sherar el Sab Sep 27, 2008 6:15 pm, editado 2 veces |
||||||||||||
| #6 |
|
leo_programer
|
hola a todos,
buen aporte alejandro, yo hice un ftoa para c++ de pc, en visual studio, el que quiera ver un ejemplo aqui esta: http://leonardojaimes.idoo.com/info/vs2005-8/rutinas.html este es un ejemplo, tocaria convertirlo a c para pics... pero la idea es esa, cuidensen... me comentan cualquier cosa |
|||||||||||
|
|
||||||||||||
| #7 |
|
Alejandro Sherar
|
Gracias, me viene bárbaro para VB.
Listo: Ya la controlé hasta 999.999 y no hay problemas. Creo que ya está lista. El que le encuentre un bug por favor me avisa. VERSIÓN FINAL NOTA: Por defecto los 'char' son 'unsigned' los 'int' son 'signed' los 'unsigned' son 'int' Rutina principal
Esta rutina usa lo siguiente: strcpy(OTRO, UN_STRING); copia UN_STRING en OTRO (de la biblioteca C) strcat(OTRO, UN_STRING); copia UN_STRING al la cola de OTRO (de la biblioteca C) A esta ya la conocen como hex2dec pero se le ha agregado el argumento ZEROSOK. Además se limita a 3 digitos.
En la foto se ven borrosos los dígitos que están cambiando. |
|||||||||||
|
Ultima edición por Alejandro Sherar el Mar Oct 14, 2008 1:08 pm, editado 1 vez |
||||||||||||
| #8 Re: Como limito el numero de decimales? |
|
Alejandro Sherar
|
jaiser escribió: Saludos, soy nuevo en el foro y tengo el mismo problema, uso CCS, la diferencia es que escribo lcd_putc para enviar a la pantalla y no se como limito el numero de decimales que se muestran en la pantalla? Alguien puede decirme. Las instrucciones del tipo "printf" admiten argumentos donde se especifica ese tipo de cosas: Busca algo así % [flags] [width] [.precision] [{ h | l | L }] conversion_type en el ayuda de tu compilador que ahí va a estar bien explicado. Saludos |
|||||||||||
|
|
||||||||||||
| #9 |
|
jaiser
|
gracias alejandro me ayudo mucho tu respuesta
|
|||||||||||
|
|
||||||||||||
|
| Otros temas de interés | |
|---|---|
| enviar mensajes de texto sin usar el teclado del celular. | |
| Enviar video en vivo por internet | |
| Enviar comandos por RS232 en visual basic | |
| Enviar comunicacion via RS232 a servidor | |
| Contador de pulsos unido al microcontrolador DLP-245PB | |
| Foros de Electronica |
| ||
Cuestiones Elementales de Electrónica ||
Fuentes de alimentacion ||
Circuitos de radio ||
Diseño de circuitos en general || || Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión || || Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos || |
Site Map
© Foros de Electrónica
Comunidad Internacional de Electrónicos
Powered by phpBB © 2001, 2005 phpBB Group
Acerca de || Política de privacidad
© Foros de Electrónica
Comunidad Internacional de Electrónicos
Powered by phpBB © 2001, 2005 phpBB Group
Acerca de || Política de privacidad

