08.07.2020, 10:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,653
Сказал спасибо: 117
Сказали Спасибо 815 раз(а) в 592 сообщении(ях)
|
Re: Библиотека для операций c double в компиляторе SDCC
Я был дурным и пытался STM8 использовать. Потом осознал свою дурость.
Только STM32!!! А с STM8 можно связываться, лишь чтобы сделать свою прошивку для китайской железки.
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
|
|
|
|
08.07.2020, 10:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,173
Сказал спасибо: 2,828
Сказали Спасибо 2,751 раз(а) в 2,035 сообщении(ях)
|
Re: Библиотека для операций c double в компиляторе SDCC
Сообщение от optical illusion
|
Это полином для расчета ЭДС термопары. Мудреная такая штука.
|
Которая из них?
Вчера сначала было подумал - ну и мизер, этот Ваш коэффициент, неужели недьзя им пренебречь или вначале нормировать формулу к более практическим числам.
Потом глянул краем глаза в этот полином - так там же и дикая степень у переменной с этим кэфом! Видимо, она и не дает возможности "пренебречь мизером"...
Затем подумал - а смысл считать в двойной точности, ведь миллиардные доли градуса вряд ли получится в реале измерить. Ну и - не проще ли вначале возвести переменную в степень с обычной точностью, затем "ликвидировать" кучу нулей у (десять в степени минус трилиард) коэффициента, и еще раз перемножить, опять же - в обычной точности...
|
|
|
|
08.07.2020, 17:51
|
|
Прописка
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Библиотека для операций c double в компиляторе SDCC
Мне тут подсказали решение. Не на этом форуме, к сожалению.)
Вот ссылка:
https://lisiynos.github.io/s1/long_ar.html
Всякие ученые не додумались до этого. (Горе от ума?)
Придумали школьники на олимпиадах по программированию.
Как то так...
|
|
|
|
08.07.2020, 17:55
|
|
Прописка
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Библиотека для операций c double в компиляторе SDCC
Сообщение от eddy
|
Я был дурным и пытался STM8 использовать. Потом осознал свою дурость.
Только STM32!!! А с STM8 можно связываться, лишь чтобы сделать свою прошивку для китайской железки.
|
Вы ошибаетесь в своих расчетах.
В калькуляторе обычно бывает 4 разряда и замечательно все считает, любой длины числа.
|
|
|
|
08.07.2020, 19:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,653
Сказал спасибо: 117
Сказали Спасибо 815 раз(а) в 592 сообщении(ях)
|
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, то ты финансируешь мировой терроризм!
|
|
|
|
08.07.2020, 19:30
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
|
Re: Библиотека для операций c double в компиляторе SDCC
Пардон, пропустил шоу. Что придумали? Как 4 разряда нарастить до 200 разрядов методом переноса в старший разряд? Да уж, чего только не напишут журналисты.
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
08.07.2020, 22:55
|
|
Прописка
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Библиотека для операций c double в компиляторе SDCC
Сообщение от eddy
|
P.S. В калькуляторах есть математический сопроцессор, который умеет в флоаты!
|
У него тоже 4 разряда шина данных?
Это вам компилятор не дал большей разрядности. Не положено)
|
|
|
|
09.07.2020, 19:18
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
|
Re: Библиотека для операций c double в компиляторе SDCC
Сообщение от optical illusion
|
В калькуляторе обычно бывает 4 разряда
|
В калькуляторе 76-го года который? На дискретных 4-разрядных сумматорах?
|
|
|
|
12.07.2020, 11:40
|
|
Частый гость
Регистрация: 30.11.2008
Сообщений: 16
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Библиотека для операций c double в компиляторе SDCC
Сообщение от optical illusion
|
Увы, я не физик теоретик - зарабатываю продажей микроконтроллеров. Кто то скажет что это такой глупый, скучный и примитивный бизнес...
А вопрос про то, что жалко бросать несколько десятков кило кода.
|
Извините, случайно не подскажете как Вы зарабатываете на продаже микроконтроллеров?
|
|
|
|
12.07.2020, 19:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Библиотека для операций c double в компиляторе SDCC
Сообщение от KiberGirl
|
Извините, случайно не подскажете как Вы зарабатываете на продаже микроконтроллеров?
|
Покупаете за бакс, продаёте за три бакса, на эти два процента и живёте (с)
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Ускорить компьютер
|
7Fantomas7 |
Ремонт оргтехники |
111 |
08.08.2018 05:27 |
Компас 3D V10+
|
algenkel |
Proteus, KiCAD и другие ECAD |
14 |
29.09.2009 13:09 |
Часовой пояс GMT +4, время: 23:01.
|
|