Go Down

Topic: Problema con sprintf (Solucionado) (Read 1 time) previous topic - next topic

Dukatus

Jul 19, 2011, 06:54 pm Last Edit: Jul 20, 2011, 02:45 am by Dukatus Reason: 1
 Hola:

Estoy haciendo una función de salida en pantalla y nesesito parar un valor FLOAT a uno STRING, para lo cual estoy utilizando la función sprintf pero no lo consigo, en C esto funcionaria.

Code: [Select]

 static char valor[10];
 float dato = 123.50;

 sprintf( valor, "%f", dato );


Pero en el arduino no, funciona con decimal "%d", cadena "%s", octal "%o" y hexadecimal "%x" pero no con float "%f".

Alguien me puede echar un cable.


Gracias

curro92

Hola,
desconozco la razón, pero parece que esa función no anda con float. En el antiguo foro tienes propuestas para solucionar, por ejemplo
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1207226548/11#11

Dukatus

Hola:

Gracias curro92, ya lo e solucionado y de una forma mas simple:

Este codigo si funciona.

Code: [Select]

  static char valor[10];
  float dato = 123.50;

  valor = dtostrf( dato, 4, 2, valor );



Saludos y gracias

Go Up