#arduino #float
Имеются данные с датчика температуры (arduino + ds18b20 + библиотека dallas temp), float temp = 26.23; Нужно записать в переменную только целую часть, то есть 26, выводить умею: Serial.println (temp,0); а вот в переменную записать не могу.
Ответы
Ответ 1
Float это сразу почти 1кб места в скетче + еще 4 байта на каждую переменную. Не надо так... Обычная операция *100 при получении данных и /%100 при выводе их на экран, решает вашу проблемуОтвет 2
Сделал след. образом с помощью cast: Ввел дополнительную переменную int inttemp; затем конвертировал переменную temp с float значением (26.23) в integer inttemp = (int)temp; и на выходе получил 26Ответ 3
Выдача гугл http://arduino.ru/forum/programmirovanie/rabota-s-float "пешком" нужное преобразование можно сделать следующим образом: float v; long V; ... v=13.67; V=round(v*10); V/10 // целая часть числа V%10 // дробная часть числа (1 позиция) А еще легче просто не доводить до флоат. в авр нет флоата как такового и в 99% случаев можно обойтись и без него.Ответ 4
я бы сделал вот так int temp = (int)26.23; Serial.println (temp,0);
Комментариев нет:
Отправить комментарий