Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Библиотека для операций c double в компиляторе SDCC

Непрочитано 08.07.2020, 10:20  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Я был дурным и пытался STM8 использовать. Потом осознал свою дурость.
Только STM32!!! А с STM8 можно связываться, лишь чтобы сделать свою прошивку для китайской железки.
Реклама:
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
Непрочитано 08.07.2020, 10:55  
Yuri222
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,924
Сказал спасибо: 3,111
Сказали Спасибо 3,030 раз(а) в 2,258 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Сообщение от optical illusion Посмотреть сообщение
Это полином для расчета ЭДС термопары. Мудреная такая штука.
Которая из них?
Вчера сначала было подумал - ну и мизер, этот Ваш коэффициент, неужели недьзя им пренебречь или вначале нормировать формулу к более практическим числам.
Потом глянул краем глаза в этот полином - так там же и дикая степень у переменной с этим кэфом! Видимо, она и не дает возможности "пренебречь мизером"...
Затем подумал - а смысл считать в двойной точности, ведь миллиардные доли градуса вряд ли получится в реале измерить. Ну и - не проще ли вначале возвести переменную в степень с обычной точностью, затем "ликвидировать" кучу нулей у (десять в степени минус трилиард) коэффициента, и еще раз перемножить, опять же - в обычной точности...
Yuri222 вне форума  
Непрочитано 08.07.2020, 17:51  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 282
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Мне тут подсказали решение. Не на этом форуме, к сожалению.)
Вот ссылка:
https://lisiynos.github.io/s1/long_ar.html
Всякие ученые не додумались до этого. (Горе от ума?)
Придумали школьники на олимпиадах по программированию.
Как то так...
optical illusion вне форума  
Непрочитано 08.07.2020, 17:55  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 282
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Сообщение от eddy Посмотреть сообщение
Я был дурным и пытался STM8 использовать. Потом осознал свою дурость.
Только STM32!!! А с STM8 можно связываться, лишь чтобы сделать свою прошивку для китайской железки.
Вы ошибаетесь в своих расчетах.
В калькуляторе обычно бывает 4 разряда и замечательно все считает, любой длины числа.
optical illusion вне форума  
Непрочитано 08.07.2020, 19:28  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Сообщение от optical illusion Посмотреть сообщение
Вы ошибаетесь в своих расчетах.
Где?
Еще раз повторяю: потеряв всего лишь 4-5 часов рабочего времени, для партии из любых новых неисследованных терморезисторов можно достаточно быстро построить экспериментальную кривую зависимости температуры от сопротивления. Если количество "подопытных" хотя бы с десяток, то заодно получаем и зависимость ошибки от температуры. Это можно сделать как на стенде с уже готовым устройством, подключая к его АЦП (тогда следующий шаг опускаем), или "на будущее" — померив хорошим поверенным омметром.
Далее для конкретной схемы определяем зависимость отчетов ADU от подключенного сопротивления. Сопоставляем с предыдущей кривой, получаем зависимость температуры от ADU.
Аппроксимируем экспериментальные данные любым полиномом так, чтобы кривая не вылезала за пределы экспериментальных точек с рассчитанными ошибками.
Ну, а потом, как я уже выше говорил, разбиваем кривую на линейные участки, где линейная интерполяция не превышает заданной ошибки.

Все, получаем элементарнейшую функцию в int16_t, которая позволяет переводить ADU в градусы Цельсия с десятичными значениями без сложных операций (только умножение, деление, сложение и вычитание) и абсолютно в целых числах! Дополнительный массив реперов для точности ±0.05°C на диапазоне -30…+30°C занимает не больше 25 пар int16_t (т.е. 100 байт)!

Не нужно усложнять себе жизнь. И уж тем более, не нужно на МК, которые даже флоаты аппаратно не умеют, считать даблы!

P.S. В калькуляторах есть математический сопроцессор, который умеет в флоаты!
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
Непрочитано 08.07.2020, 19:30  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Пардон, пропустил шоу. Что придумали? Как 4 разряда нарастить до 200 разрядов методом переноса в старший разряд? Да уж, чего только не напишут журналисты.
NewWriter вне форума  
Сказали "Спасибо" NewWriter
eddy (08.07.2020)
Непрочитано 08.07.2020, 22:55  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 282
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Сообщение от eddy Посмотреть сообщение
P.S. В калькуляторах есть математический сопроцессор, который умеет в флоаты!
У него тоже 4 разряда шина данных?
Это вам компилятор не дал большей разрядности. Не положено)
optical illusion вне форума  
Непрочитано 09.07.2020, 19:18  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Сообщение от optical illusion Посмотреть сообщение
В калькуляторе обычно бывает 4 разряда
В калькуляторе 76-го года который? На дискретных 4-разрядных сумматорах?
NewWriter вне форума  
Непрочитано 12.07.2020, 11:40  
KiberGirl
Частый гость
 
Регистрация: 30.11.2008
Сообщений: 16
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
KiberGirl на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Сообщение от optical illusion Посмотреть сообщение
Увы, я не физик теоретик - зарабатываю продажей микроконтроллеров. Кто то скажет что это такой глупый, скучный и примитивный бизнес...
А вопрос про то, что жалко бросать несколько десятков кило кода.
Извините, случайно не подскажете как Вы зарабатываете на продаже микроконтроллеров?
KiberGirl вне форума  
Непрочитано 12.07.2020, 19:50  
AR_Favorit
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Сообщение от KiberGirl Посмотреть сообщение
Извините, случайно не подскажете как Вы зарабатываете на продаже микроконтроллеров?
Покупаете за бакс, продаёте за три бакса, на эти два процента и живёте (с)
AR_Favorit вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ускорить компьютер 7Fantomas7 Ремонт оргтехники 111 08.08.2018 05:27
Компас 3D V10+ algenkel Proteus, KiCAD и другие ECAD 14 29.09.2009 13:09


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.