Avisos

Print out: LM35 Temperature

Print out: LM35 Temperature

de CRUZ JUAN MANUEL -
Número de respuestas: 0

Buenas noches, STM32CubeIDE tiene un problema para manejar variables del tipo "float" con las funciones de librería printf(), fprintf(), sprintf(),  snprintf(). 

Hasta que hallemos una solución usaremos el siguiente código:

float lm35_temp;

uint32_t lm35_temp_whole;

uint32_t lm35_temp_decimal;

/* Print out: LM35 Temperature */

lm35_temp = (3.30 * 100 * (float)value)/(4096);

lm35_temp_whole = (uint32_t)lm35_temp;

lm35_temp_decimal = (uint32_t)((lm35_temp - lm35_temp_whole) * 10000);

LOGGER_LOG(" LM35 Temp = %4d.%04d °C\r\n", (int)lm35_temp_whole, (int)lm35_temp_decimal);