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

Похоже, что программное обеспечение 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 разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Arduino UNO R3 + USB кабель

Arduino UNO R3 + USB кабель

Плата контроллера, полюбившаяся всем почитателям этой марки Arduino на базе микропроцессора ATmega3..

198.93грн.

Стойка роликовая для оси Y с крепежом

Стойка роликовая для оси Y с крепежом

Монтажная панель из МДФ для организации оси Y автоматического лазерного гравера.Отверстия под шаговы..

77.28грн.

Модуль гальваноразвязки 4-канальный под пайку или гребенки

Модуль гальваноразвязки 4-канальный под пайку или гребенки

Модуль защиты и гальванической развязки 4-х дискретных входов контроллера с подключением через соеди..

64.50грн.

Корпус пластиковый 100x60x25мм

Корпус пластиковый 100x60x25мм

Универсальный бокс из чорного пластика под самодельное электронное устройствоArduino UNO и Leonardo ..

43.96грн.

Модуль реле 4-канальный 5В 10А

Модуль реле 4-канальный 5В 10А

4-канальный модуль реле для подключения напрямую к дискретному выходу контроллера. Светодиодная инди..

89.58грн.

Теги Arduino FLOAT