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 размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Світлодіодна стрічка адресна WS2812B 1м 30led

Світлодіодна стрічка адресна WS2812B 1м 30led

Трьохкольорова світлодіодна стрічка на основі адресних світлодіодів WS2812B 30 світлодіодів ..

125.63грн.

Ніодімовий магніт 12mm x 3mm N35

Ніодімовий магніт 12mm x 3mm N35

Циліндричний ніодімовий магніт N35Розміри 12мм x 3ммІдеально підходить для роботи в зв'язці з м..

14.00грн.

Підсилювач PAM8610 10x2Вт з регулюванням гучності та роз'ємами

Підсилювач PAM8610 10x2Вт з регулюванням гучності та роз'ємами

Стерео підсилювач звукової частоти класу D зі змінним резистором регулювання гучності, роз'ємами та ..

131.91грн.

Тримач для батарейок 3хAA

Тримач для батарейок 3хAA

Бокс для трьох пальчикових батарейок типу ААЗагальна напруга на вихідних дротах бокса вийде 4,5 В..

31.00грн.

Arduino Nano I2C зв'язок між контролерами

Arduino Nano I2C зв'язок між контролерами

Давайте розберемося щодо найзручнішої комунікації фізично закладеної в контролери Arduino I2C це по..