Реклама на сайте 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,561
Сказал спасибо: 5,396
Сказали Спасибо 24,783 раз(а) в 5,563 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Как бы переменную FLOAT на LED экране показать?

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

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

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

Спасибо, но так не пробовал.
Sergey_57 вне форума  
Непрочитано 08.02.2019, 15:56  
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,561
Сказал спасибо: 5,396
Сказали Спасибо 24,783 раз(а) в 5,563 сообщении(ях)
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
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,860
Сказал спасибо: 2,532
Сказали Спасибо 11,773 раз(а) в 5,897 сообщении(ях)
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,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

Взять целую часть со знаком, вычесть ее из исходного значения, полученное умножить на 1000 и взять целую часть. Дальше просто вывод двух чисел до и после десятичной точки. Можно немного усложнить для правильного округления в последнем разряде…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 08.02.2019, 20:44  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,508
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
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,561
Сказал спасибо: 5,396
Сказали Спасибо 24,783 раз(а) в 5,563 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Как бы переменную FLOAT на LED экране показать?

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

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

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

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

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

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

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


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


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