Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Удаленная работа
Помощь проекту


 
Опции темы
Непрочитано 08.02.2019, 13:09  
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, Киев
Сообщений: 5,425
Сказал спасибо: 2,427
Сказали Спасибо 10,295 раз(а) в 2,704 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Как бы переменную FLOAT на LED экране показать?

В одном показометре очень неплохо ложится математика с переменными в формате FLOAT.
Всё бы ничего, но дисплейчик семисегментный светодиодный и вывод через свою процедуру развертки..

Как бы значение из FLOAT перегнать в формат Х.ХХХ для отображения?
Реклама:
__________________
"Совершенство достигается не тогда, когда нечего добавить, а тогда, когда нечего отнять"
/Антуан де Сент-Экзюпери/

моя домашняя страничка: http://www.eddy.com.ua/
Eddy71 вне форума  
Непрочитано 08.02.2019, 14:13  
Sergey_57
Вид на жительство
 
Регистрация: 12.12.2012
Сообщений: 417
Сказал спасибо: 48
Сказали Спасибо 214 раз(а) в 115 сообщении(ях)
Sergey_57 на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

Вот этим сейчас и занимаюсь .
Умнож на 10000 и передай в unsigned long(long).
далее по стандартной процедуре. Запятую поставите сами.
Sergey_57 вне форума  
Сказали "Спасибо" Sergey_57
Eddy71 (08.02.2019)
Непрочитано 08.02.2019, 14:59  
sanya
Прохожий
 
Регистрация: 10.11.2016
Сообщений: 4
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 1 сообщении
sanya на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

А sprintf()? Типа sprintf (buffer, "%.2f", float); и вывести из буфера на LED
sanya вне форума  
Эти 2 пользователя(ей) сказали Спасибо sanya за это сообщение:
Eddy71 (08.02.2019), Sergey_57 (08.02.2019)
Непрочитано 08.02.2019, 15:15  
Sergey_57
Вид на жительство
 
Регистрация: 12.12.2012
Сообщений: 417
Сказал спасибо: 48
Сказали Спасибо 214 раз(а) в 115 сообщении(ях)
Sergey_57 на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

Спасибо, но так не пробовал.
Sergey_57 вне форума  
Непрочитано 08.02.2019, 15:56  
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, Киев
Сообщений: 5,425
Сказал спасибо: 2,427
Сказали Спасибо 10,295 раз(а) в 2,704 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

Сообщение от sanya Посмотреть сообщение
А sprintf()? Типа sprintf (buffer, "%.2f", float); и вывести из буфера на LED
Компилятор попытался это сделать, но вылетел с ошибкой об окончании памяти (мелкий контроллер слишком).

Но за подсказку спасибо, попробую в более жирных условиях.
__________________
"Совершенство достигается не тогда, когда нечего добавить, а тогда, когда нечего отнять"
/Антуан де Сент-Экзюпери/

моя домашняя страничка: http://www.eddy.com.ua/
Eddy71 вне форума  
Непрочитано 08.02.2019, 17:51  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 16,772
Сказал спасибо: 2,493
Сказали Спасибо 10,042 раз(а) в 5,108 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

Сообщение от sanya Посмотреть сообщение
А sprintf()?
Слишком тяжелая функция, много лишних наворотов.
Путь, который упомянул Sergey_57, гораздо легче (по памяти), только коэффициент берется по количеству дробных разрядов. Тут надо умножить на 1000.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Сказали "Спасибо" akegor
Eddy71 (08.02.2019)
Непрочитано 08.02.2019, 19:51  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 8,141
Сказал спасибо: 8,544
Сказали Спасибо 2,599 раз(а) в 1,992 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

Взять целую часть со знаком, вычесть ее из исходного значения, полученное умножить на 1000 и взять целую часть. Дальше просто вывод двух чисел до и после десятичной точки. Можно немного усложнить для правильного округления в последнем разряде…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при малом числе вариантов…
mike-y-k вне форума  
Непрочитано 08.02.2019, 20:44  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Сообщений: 2,408
Сказал спасибо: 199
Сказали Спасибо 1,161 раз(а) в 718 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

Да, но вы можете самостоятельно разобрать формат float и вытащить из него значения.
https://ru.wikipedia.org/wiki/%D0%A7...81%D1%82%D0%B8
NewWriter вне форума  
Непрочитано 08.02.2019, 20:49  
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, Киев
Сообщений: 5,425
Сказал спасибо: 2,427
Сказали Спасибо 10,295 раз(а) в 2,704 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

Пока решил повоевать с целочисленной, правда аж i32, но места меньше занимает, чем float.
Маленький контроллер - большие проблемы
__________________
"Совершенство достигается не тогда, когда нечего добавить, а тогда, когда нечего отнять"
/Антуан де Сент-Экзюпери/

моя домашняя страничка: http://www.eddy.com.ua/
Eddy71 вне форума  
Непрочитано 08.02.2019, 23:23  
Sergey_57
Вид на жительство
 
Регистрация: 12.12.2012
Сообщений: 417
Сказал спасибо: 48
Сказали Спасибо 214 раз(а) в 115 сообщении(ях)
Sergey_57 на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

Цитата:
Тут надо умножить на 1000.
Ой, маханул по привычке.
Я тут сделал станок для проверки автомобильных тубин . Вот и децибеллы
считаю и передаю, везде умножаю на 10 000.
ПЛК не понимает этого формата float вот и нашёл способ.
Sergey_57 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 15:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot