Добрый вечер!
Есть код, преобразующий аналоговое значение с термистора в сопротивление и далее в температуру.
reading_temp = analogRead(A0); // Write thermistor data to variable
// Convert Data to Resistance Thermistor
reading_temp = (1023 / reading_temp) - 1;
reading_temp = SERIESRESISTOR / reading_temp;
// Convert Resistance to Temperature
temp_data = reading_temp / THERMISTORNOMINAL; // (R/Ro) -> Data / Nominal Thermistor (10k)
temp_data = log(temp_data); // ln(R/Ro) Logarifm
temp_data /= BCOEFFICIENT; // 1/B * ln(R/Ro)
temp_data += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)
temp_data = 1.0 / temp_data; // Inverting
temp_data -= 273.15; // Converting to Temp *C
В некоторый промежуток времени мне необходимо отослать температуру на другой модуль по UART шине. Для этого я буду использовать sprintf() и далее Serial.println().
sprintf не поддерживает числа с плавающей точкой, а применять String я не хочу из-за плохих слухов о нем (вроде как портит чип).
Вопрос: как возможно убрать плавающую точку из температуры, чтобы к примеру температура +26.7 отправлялась как +26?