Страница 1 из 1

Простой вопрос, вывод на дисплей

Добавлено: Вс авг 13, 2017 19:39:05
slesar
Всем привет!

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?

Re: Простой вопрос, вывод на дисплей

Добавлено: Вс авг 13, 2017 20:15:31
viiv
[uquote="slesar",url="/forum/viewtopic.php?p=3161754#p3161754"]Что не так? Как вывести float?[/uquote]
CVAVR никогда не пользовался. Но,
1) Почитать help для sprintf ()
2) Установить опцию проекта, что то типа
СпойлерИзображение

Re: Простой вопрос, вывод на дисплей

Добавлено: Пн авг 14, 2017 08:38:02
ozonn
сталкивался с аналогичной проблемой. Тут описана и проблема и способ ее решения. Одна загвоздка, у меня Atmel Studio

http://radiokot.ru/forum/viewtopic.php? ... start=2560

Re: Простой вопрос, вывод на дисплей

Добавлено: Пн авг 14, 2017 18:56:06
slesar
[uquote="viiv",url="/forum/viewtopic.php?p=3161780#p3161780"][uquote="slesar",url="/forum/viewtopic.php?p=3161754#p3161754"]Что не так? Как вывести float?[/uquote]
CVAVR никогда не пользовался. Но,
1) Почитать help для sprintf ()
2) Установить опцию проекта, что то типа

Спасибо, помогло :beer: