Працюємо з 09:00 до 19:00 Пн-Пт
Київ біля ТЦ Квадрат бул.Перова

Arduino відображення даних FLOAT

Схоже, що програмне забезпечення Arduino не особливо підтримує відображення значень змінних з плаваючою крапкою. Звичайно, тут функція sprintf () не працює. Однак є корисна функція з назвою dtostrf (), котра перетворює дані з плаваючою крапкою в масив символів, тому вони можуть бути легко надруковані.


Формат функції наступний

dtostrf(floatvar, StringLengthIncDecimalPoint, numVarsAfterDecimal, charbuf);

где:

floatvar - преобразуемая переменная типа float;

StringLengthIncDecimalPoint - длина получаемого символьного значения;

numVarsAfterDecimal - количество символов после запятой;

charbuf - символьный массив для сохранения результата преобразования

Следующий пример программы поможет понять что к чему

static float f_val = 123.6794;

static char outstr[15];


void setup() {

  dtostrf(f_val,7, 3, outstr);


  Serial.begin(9600);

  Serial.println(outstr);

}


void loop(){

}


В результате работы скетча получим

123.679

Маємо 7 символов вдлину, с тремя цифрами после запятой.

При этом, если бы входное значение было например 1.6794, что бы мы получили? Длина строчки символов осталась бы равной 7-ми, с  тремя цифрами после запятой, и это значит что функция вставит 2 пробела сначала строки.

  1.679

Тепер спробуйте самі.

<< Проекти << Усі товари >> Статті, уроки >>

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Ніжки для лазерного гравера CNC 4 шт. с кріпленням

Ніжки для лазерного гравера CNC 4 шт. с кріпленням

Ніжки з МДФ для побудови CNC лазерного гравера. Виконують роль власне ніжок, а також повноцінного кр..

119.00грн.

Цифровий датчик температури DS18B20 з кабелем

Цифровий датчик температури DS18B20 з кабелем

Цифровий датчик температури DS18B20 в герметичному погружному корпусі з кабелем, готовий для бе..

51.63грн.

Панель для камери

Панель для камери

Підвіс для механізованого повертання камери за допомогою серво-двигунів SG90Дозволяє віддалено ..

40.58грн.

Трансформатор струму 0-50А

Трансформатор струму 0-50А

Трансформатор струму призначений для вимірювання сили змінного струму, що тече через дріт. Для підкл..

49.57грн.

Arduino UNO як осцилограф

Arduino UNO як осцилограф

Контролери Arduino можна використовувати як найпростіший осцилограф, для спостерігання за швидко-змі..