Soy una persona mayor e intentare ser lo más explicito posible.
Como ejemplo se trata de un programa en Arduino que halla un número decimal Dividiendo 45 por 6.
Float Num 1 = 45
Float Num 2 = 6
Float Res = Num 1/Num 2 ;
Serial. begin ( 9600 ) ;
Serial. Println ( Res 1 | ) ;
No suelo usar arduino, asi que probablemente exista una función más "moderna" para solucionar lo que vos necesitás:
C:
....char digitos[15];//Defino un vector de 15 elementos que se usará como String (cadena de caracteres) para mostrar el resultado...float num1, num2, resultado;//Defino las variables flotantes que voy a utilizar...
num1=1;//Asigno un valor a la variables flotantes => por ej. a partir de una lectura de un sensor
num2=3;...
resultado=num1/num2;//Realizo una operación matemática con las lecturas y lo almaceno en la variable resultado...sprintf(digitos,"%.2f", resultado);//Transformo el resultado flotante obtenido en un String y fuerzo que solo me muestre 2 decimales '%.2f', si quisiera 3 => '%.3f', etc...
Serial.begin(9600);//Configuro el puerto serie
Serial.print(digitos);//Envío el String (la cadena de caracteres) con los resultados obtenidos...
En este ejemplo no me interesa optimizar el uso de memoria ni de operadores, solo simplificar lo máximo posible.
Soy una persona mayor e intentare ser lo más explicito posible.
Como ejemplo se trata de un programa en Arduino que halla un número decimal Dividiendo 45 por 6.
Float Num 1 = 45
Float Num 2 = 6
Float Res = Num 1/Num 2 ;
Serial. begin ( 9600 ) ;
Serial. Println ( Res 1 | ) ;
Sigo sin entender cual es su consulta y mucho menos entiendo que tiene que ver el calculo de un puente con ese pseudo fragmento de código.
Yo tampoco soy joven pero al menos trato de explicitar en que pretendo recibir ayuda.
Por que no hace un esfuerzo y nos cuenta en que necesita que lo ayudemos???
El problema del punto flotante con sprintf no es en sí del entorno Arduino sino del linkeo.
Hay que agregar una opción en el archivo platform.txt ;
Código:
compiler.c.elf.flags=[todo lo que estaba aca] -Wl,--gc-sections -Wl,-u,vfprintf -lprintf_flt -lm
Y ahora sí, el switch %.2f funcionará como debe
Pero esto debe usarse con precaución, porque si no está por defecto, con alqo debe " chocar".... Y lo único que he notado es una mayor longitud de HEX, cosa lógica porque te mete mas librerias.