Всем привет!
cvavr + atmega16.
Объясните мне старому дураку почему не работает вывод на дисплей переменной float:
1. Рабочий вариант для int
unsigned char lcd_buffer[16];
int temp=31;
.....
sprintf(lcd_buffer,"a=%04d",temp);
lcd_clear();
lcd_puts(lcd_buffer);
Выводит а=0031, все круто, так и задумано.
2. Не работает для float:
unsigned char lcd_buffer[16];
float f = 23.5;
.......
sprintf(lcd_buffer,"a=%2.2f",f);
lcd_clear();
lcd_puts(lcd_buffer);
Выводит а=2f.
Что не так? Как вывести float?
cvavr + atmega16.
Объясните мне старому дураку почему не работает вывод на дисплей переменной float:
1. Рабочий вариант для int
unsigned char lcd_buffer[16];
int temp=31;
.....
sprintf(lcd_buffer,"a=%04d",temp);
lcd_clear();
lcd_puts(lcd_buffer);
Выводит а=0031, все круто, так и задумано.
2. Не работает для float:
unsigned char lcd_buffer[16];
float f = 23.5;
.......
sprintf(lcd_buffer,"a=%2.2f",f);
lcd_clear();
lcd_puts(lcd_buffer);
Выводит а=2f.
Что не так? Как вывести float?
Канифоли много не бывает!


