реклама на сайте
подробности

 
 
> Как вывести форматированную переменную типа Float в UART?
Ivan Kuznetzov
сообщение Apr 6 2009, 04:43
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Извините за глупый вопрос...
Например есть значение 5.910 в float, надо чтобы в UART отправлялось 0005.910

туплю я седня...

Сообщение отредактировал Ivan Kuznetzov - Apr 6 2009, 04:45


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
HARMHARM
сообщение Apr 6 2009, 04:45
Сообщение #2


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Цитата(Ivan Kuznetzov @ Apr 6 2009, 07:43) *
Извините за глупый вопрос...
Например есть значение 5.910 в float, надо чтобы в UART отправлялось 0005.910

туплю я седня...

С помощью printf/snprintf.
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Apr 6 2009, 05:16
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



все, нашел... надо было в опциях компилятора выставить float у printf

printf("%08.3f\r\n",themp);

Сообщение отредактировал Ivan Kuznetzov - Apr 6 2009, 05:16


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
ARV
сообщение Apr 6 2009, 05:18
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Цитата(Ivan Kuznetzov @ Apr 6 2009, 08:51) *
а по-конкретнее можно?
Вот так пишу - вообще не то выводится:

printf("%d\r\n",temp);

во-первых, надо printf("%f\r\n",temp); во-вторых, если это WinAVR, то надо еще использовать "полную" версию библиотеки stdio - подключить для компоновки соответствующий объектный файл с поддержкой float-форматирования, т.е. использовать опции -Wl,-u,vfprintf -lprintf_flt -lm


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th June 2025 - 01:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01363 секунд с 7
ELECTRONIX ©2004-2016