Понадобилось мне как то вывести переменную типа float на LCD дисплей.
Написал код:
#define F_CPU 1000000UL // 1 MHz
#include <avr\io.h>
#include <util\delay.h>
#include "LCD.h"
#include <stdio.h>
unsigned int a = 123;
char buffer[200];
float my_custom_float = 25.64;
int main (void){
LCDinit();
sprintf(buffer,"V = %.2f uS",my_custom_float);
LCDstring(buffer,0,0);
}
На дисплее ожидалось увидеть следующее: (V = 26.64 uS), но выводилось только (V = Us).
Чтобы решить эту проблему, необходимо перейти в свойства проекта:
Необходимо в AVR C Linker прописать вот этот аргумент: (-Wl,-u,vfprintf).

Добавить параметр для библиотеки:
printf_flt
После проделанных манипуляций, должно работать.
