Реклама на сайте 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, рядом с Полтавой
Сообщений: 9,772
Сказал спасибо: 5,556
Сказали Спасибо 25,329 раз(а) в 5,691 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Как бы переменную FLOAT на LED экране показать?

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

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

моя домашняя страничка: http://www.eddy.com.ua/
Eddy71 на форуме  
Непрочитано 08.02.2019, 14:13  
Sergey_57
Вид на жительство
 
Регистрация: 12.12.2012
Сообщений: 369
Сказал спасибо: 31
Сказали Спасибо 204 раз(а) в 112 сообщении(ях)
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
Сообщений: 53
Сказал спасибо: 6
Сказали Спасибо 16 раз(а) в 13 сообщении(ях)
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
Сообщений: 369
Сказал спасибо: 31
Сказали Спасибо 204 раз(а) в 112 сообщении(ях)
Sergey_57 на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

Спасибо, но так не пробовал.
Sergey_57 вне форума  
Непрочитано 08.02.2019, 15:56  
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,772
Сказал спасибо: 5,556
Сказали Спасибо 25,329 раз(а) в 5,691 сообщении(ях)
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
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,056
Сказал спасибо: 2,562
Сказали Спасибо 11,889 раз(а) в 5,963 сообщении(ях)
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
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

Взять целую часть со знаком, вычесть ее из исходного значения, полученное умножить на 1000 и взять целую часть. Дальше просто вывод двух чисел до и после десятичной точки. Можно немного усложнить для правильного округления в последнем разряде…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 08.02.2019, 20:44  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
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, рядом с Полтавой
Сообщений: 9,772
Сказал спасибо: 5,556
Сказали Спасибо 25,329 раз(а) в 5,691 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

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

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

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

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

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

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

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


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


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