Tiny88.
Нужно отмасштабировать сигнал с АЦП с коэффициентом 0..1.
Коэффициент 16-битный, точности достаточно.
Ну и разобраться, как оно вообще работает.
Думаю, должно быть быстрее и короче, чем через float.
Напрямую в результате вижу ноль.
На выходе нужно иметь результат не шире 16 бит. Последнее присвоение какую часть результата присвоит? Младшую, старшую половину? Что-то ещё? )))
И вообще, такой вариант должен работать в ардуине тупо в лоб, или нужно искать какие-то доп. библиотеки?
Сюда же. Сдвиг как унарная операция работает? Просто x>>16; без присвоения?
Такой не должен. Хотя, я понимаю, что мы обсуждаем бред сивой кобылы примерный код, а потому, на самом деле, ХЗ какой именно “такой”.
Смотря что Вы понимаете под слово “работает”. Если “изменяет значение x”, то, нет, конечно. Опять же это легко проверить самому. Привыкайте так и делать.
Описал суть проблемы. Если есть переменная, ей обязательно что-то присвоено.
Именно результат умножения не получается правильным, или дальше неправильно применяю. С чем и надо разобраться.
А я в больничке отдыхаю, скукота. Помастурбирую чуток😄
Всё там правильно умножается. Но такое ли надо получить в итоге? ХЗ.
Результат АЦП 0…1023, 10 бит.
На выходе должно быть…хрен знает что(ХЗЧ).
ХЗЧ=АЦП×К+D, Где K-коэффициент(подобрать хз как), D-смещение(хз относительно чего).
Был озвучен ДИАГНОЗ, т.е. причина.
А методов лечения (Вы называете это “решением”) сколько угодно.
Судя по тому, что Вы признаете решением единственный вариант, ПРИЧИНА происходящего так и не была Вами понята.
Нет, это значит, “вещь” настолько элементарная, что ее как-то вслух даже озвучивать неудобно.