Например TDA7294

Форум РадиоКот • Просмотр темы - Перевод float в string
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 22:58:11

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 25 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Перевод float в string
СообщениеДобавлено: Чт апр 12, 2018 21:18:11 
Нашел транзистор. Понюхал.

Зарегистрирован: Пн апр 25, 2016 15:43:23
Сообщений: 197
Откуда: Россия , Воронеж
Рейтинг сообщения: 0
Доброе время. Делаю вольт-омметр на attiny861a . Настроил ацп на внешнее напряжение 2.5в . Т.к. в 861 нет usart , решил выводить результаты на lcd дисплей.

Всё настроел , начинаю проверку и начал выводится бред.

При отсутствии напряжения 0 , при подаче -10240 .

Как я понял это из-за неправильного перевода дроби в строку. Но при всех попытках это наилучший результат.

Проект прилагаю.


Вложения:
Project_1.rar [50.62 KiB]
Скачиваний: 228
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Чт апр 12, 2018 22:13:55 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Если Вам лень выложить код сюда , конечно правильно оформив, в нужные тэги, не весь, а только проблемное и под спойлер с пояснениями, то почему будет не лень другим читать Ваш проект? Я так думаю, что очень большая часть формчан не будет его смотреть. Это дело Ваше конечно, так, совет.

Вопрос. В каком диапазоне ожидаемый результат ? То есть, зачем Вам float? Код Ваш не смотрел.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Пт апр 13, 2018 05:23:20 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
лучше использовать целые числа, а запятую держать "в уме" (и рисовать на дисплее принудительно) т.е. 162 это 1.62в например,
причём желательно (особенно если результат пойдёт на табло) чтобы такая кратность получалась уже при выходе с АЦП (резистивными делителями на входе) тогда не будет эффекта что счётчик проскакивает показания (например 1.62в затем 1.64в, а 1.63 не покажет ни при каких входных напряжениях)

Добавлено after 41 minute 5 seconds:
даже лучше начать с диапазона (сначала очертить границы, чтобы расстояние между ними было кратно 1000-1023 ("хвосты" можно не отображать), и вот на эту кратность и домножать результаты измерения.
ПС. код пока не смотрел :) (посмотрю в течение часа).

Добавлено after 43 minutes 38 seconds:
посмотрел. А что, резисторы у Вас "на горячую" меняются? - почему под них переменные выделены? не проще их задефайнить?

Добавлено after 1 minute 1 second:
ничего, такого, что бы могло потребовать плавающей точки не вижу...

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Пт апр 13, 2018 06:06:38 
Нашел транзистор. Понюхал.

Зарегистрирован: Пн апр 25, 2016 15:43:23
Сообщений: 197
Откуда: Россия , Воронеж
Рейтинг сообщения: 0
Спойлерлучше использовать целые числа, а запятую держать "в уме" (и рисовать на дисплее принудительно) т.е. 162 это 1.62в например,
причём желательно (особенно если результат пойдёт на табло) чтобы такая кратность получалась уже при выходе с АЦП (резистивными делителями на входе) тогда не будет эффекта что счётчик проскакивает показания (например 1.62в затем 1.64в, а 1.63 не покажет ни при каких входных напряжениях)

Добавлено after 41 minute 5 seconds:
даже лучше начать с диапазона (сначала очертить границы, чтобы расстояние между ними было кратно 1000-1023 ("хвосты" можно не отображать), и вот на эту кратность и домножать результаты измерения.
ПС. код пока не смотрел :) (посмотрю в течение часа).

Добавлено after 43 minutes 38 seconds:
посмотрел. А что, резисторы у Вас "на горячую" меняются? - почему под них переменные выделены? не проще их задефайнить?

Добавлено after 1 minute 1 second:
ничего, такого, что бы могло потребовать плавающей точки не вижу...


Не стоит перед сном , вспоминал схему подключения и не туда напряжение подавал. Сейчас работает


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Пт апр 13, 2018 06:25:39 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
я не говорю, что работать не будет, я говорю, что флоат там - лишнее: и места больше занимает и обсчитывать тяжелее

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Пт апр 13, 2018 07:53:09 
Нашел транзистор. Понюхал.

Зарегистрирован: Пн апр 25, 2016 15:43:23
Сообщений: 197
Откуда: Россия , Воронеж
Рейтинг сообщения: 0
я не говорю, что работать не будет, я говорю, что флоат там - лишнее: и места больше занимает и обсчитывать тяжелее


Тогда такой вопрос , как с опорным напряжением 2.5в получить входное напряжение не используя тип float ? Все примеры что видел использовали его.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Пт апр 13, 2018 08:00:18 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Если Вы разберете что из себя представляет число с плавающей запятой, то Вы увидите, что основное назначение такого формата - это охватить огромный диапазон. От бесконечно малого числа, до бесконечно большого. "Бесконечно" конечно же не буквально.

Допустим Вам нужен результат от 0 до 500 с двумя знаками после запятой. Тогда вам хватит двухбайтного беззнакового целочисленного формата.
Например число 499,99 отлично будет лежать в памяти как 49999. При выводе на экран не забыть воткнуть в нужное место запятую

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Пт апр 13, 2018 08:16:57 
Вымогатель припоя

Карма: 6
Рейтинг сообщений: 7
Зарегистрирован: Чт янв 21, 2016 15:59:10
Сообщений: 522
Рейтинг сообщения: 0
Тогда такой вопрос , как с опорным напряжением 2.5в получить входное напряжение не используя тип float ? Все примеры что видел использовали его.

переведите вольты в милливольты, получите 2500 mV. Вполне себе целое число. А про точку вам тут уже сказали


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Пт апр 13, 2018 09:07:40 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 20
Рейтинг сообщений: 648
Зарегистрирован: Пт май 31, 2013 17:14:38
Сообщений: 2081
Откуда: Украина, Винница
Рейтинг сообщения: 0
код не смотрел. А что std::to_string(value); уже не работает? У меня выводит....


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Пт апр 13, 2018 10:18:49 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
код не смотрел. А что std::to_string(value); уже не работает? У меня выводит....

В С++17 есть to_chars/from_chars которые не используют локаль, динамически не выделяют память, не бросают исключения. Правда в моем gcc 7.2 их еще нет, ждем gcc 8... А to_string не для эмбедда, там и так наверно килобайт 20 добавится при том, что у TC в тиньке всего 8КБ, причем это при выключенных эксепшенах, т.е. без возможности отлавливать потенциальные ошибки...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Пт апр 13, 2018 11:29:51 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 20
Рейтинг сообщений: 648
Зарегистрирован: Пт май 31, 2013 17:14:38
Сообщений: 2081
Откуда: Украина, Винница
Рейтинг сообщения: 0
В С++17 есть to_chars/from_chars которые не используют локаль, динамически не выделяют память, не бросают исключения. Правда в моем gcc 7.2 их еще нет, ждем gcc 8... А to_string не для эмбедда, там и так наверно килобайт 20 добавится при том, что у TC в тиньке всего 8КБ, причем это при выключенных эксепшенах, т.е. без возможности отлавливать потенциальные ошибки...

Ну у меня флеша в чипе 256к :))) А так - можно и ручками процедурку написать, делал в одном проекте.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Сб апр 14, 2018 16:54:47 
Нашел транзистор. Понюхал.

Зарегистрирован: Пн апр 25, 2016 15:43:23
Сообщений: 197
Откуда: Россия , Воронеж
Рейтинг сообщения: 0
мда , ну и нафиг эту тини , ацп сгорел непонятно как. То есть всё работало , вырубил , включил ещё раз всегда приходит значение 1023.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Сб апр 14, 2018 19:09:08 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 20
Рейтинг сообщений: 648
Зарегистрирован: Пт май 31, 2013 17:14:38
Сообщений: 2081
Откуда: Украина, Винница
Рейтинг сообщения: 0
мда , ну и нафиг эту тини , ацп сгорел непонятно как. То есть всё работало , вырубил , включил ещё раз всегда приходит значение 1023.

думаете ацп в "не тини" не сгорел бы?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Вс апр 15, 2018 12:58:01 
Нашел транзистор. Понюхал.

Зарегистрирован: Пн апр 25, 2016 15:43:23
Сообщений: 197
Откуда: Россия , Воронеж
Рейтинг сообщения: 0
Ярослав555,
Вопрос в другом состоит : 1) Почему ? В действительности ничего выше напряжения питания не подавал . 2) Уже не вижу смысла делать , выбрал тини 861 только из-за размеров , но когда ацп сдох , покупать ещё 1 не охото т.к. цена в местном чип и дипе на неё выше чем на мегу328.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Вс апр 15, 2018 14:15:29 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 20
Рейтинг сообщений: 648
Зарегистрирован: Пт май 31, 2013 17:14:38
Сообщений: 2081
Откуда: Украина, Винница
Рейтинг сообщения: 0
1) Почему ? В действительности ничего выше напряжения питания не подавал .

1. Статический заряд накопленный в теле от одежды.
2. От чего питаем схему?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Вс апр 15, 2018 15:50:34 
Нашел транзистор. Понюхал.

Зарегистрирован: Пн апр 25, 2016 15:43:23
Сообщений: 197
Откуда: Россия , Воронеж
Рейтинг сообщения: 0
1. Статический заряд накопленный в теле от одежды.
2. От чего питаем схему?


От usbasp , разве от статики не должна была выйти из строя вся тини ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Вс апр 15, 2018 16:03:12 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 20
Рейтинг сообщений: 648
Зарегистрирован: Пт май 31, 2013 17:14:38
Сообщений: 2081
Откуда: Украина, Винница
Рейтинг сообщения: 0
От usbasp , разве от статики не должна была выйти из строя вся тини ?

А это как повезет.
А розетка имеет контакт заземления? 110В с корпуса системника на землю сняты? или болтаются на минусовом проводе, а Вы пальцем ткнули и сожгли вход АЦП?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Вс апр 15, 2018 16:10:29 
Нашел транзистор. Понюхал.

Зарегистрирован: Пн апр 25, 2016 15:43:23
Сообщений: 197
Откуда: Россия , Воронеж
Рейтинг сообщения: 0
А это как повезет.
А розетка имеет контакт заземления? 110В с корпуса системника на землю сняты? или болтаются на минусовом проводе, а Вы пальцем ткнули и сожгли вход АЦП?

Вот не знаю всё работало , решил передохнуть , отрубил её , минут через 30 включаю , а ацп мёртв.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Вс апр 15, 2018 16:29:42 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 20
Рейтинг сообщений: 648
Зарегистрирован: Пт май 31, 2013 17:14:38
Сообщений: 2081
Откуда: Украина, Винница
Рейтинг сообщения: 0
Ничего - это только начало. Сколько еще спаленых микрух впереди :))) . Я недавно случайно разрядил кандер с +100В через заземленное жало паяльника. Умерла мега8 в устройстве, мега8 в аспе, алегровский датчик тока (стоит как мега примерно) и вишенкой на торте стал сожженый юсб хаб в мониторе, который по сути спас весь системник. Итого я попал где-то на 1000р. А у Вас тинька какая-то. Радиолюбительство затратная штука - у меня с каждой зп уходит под 2к русскими на радиодетали. А еще иногда покупается инструмент... так что привыкайте)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Перевод float в string
СообщениеДобавлено: Вс апр 15, 2018 18:00:27 
Нашел транзистор. Понюхал.

Зарегистрирован: Пн апр 25, 2016 15:43:23
Сообщений: 197
Откуда: Россия , Воронеж
Рейтинг сообщения: 0
Так я и не переживаю , я на прототип приставки системного монитора 2.5к потратил , долбанный чип и дип и их бракованные меги ( лочились во время прошивки) . Сейчас доктор есть , все вернул к жизни.

Просто 1 дело , когда железно сам виноват что прибор сдох , а другое когда оно само сдохло.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y