Так а как масштабировать в реальном времени как? Ему надо в ШИМ uint8_t подавать. При этом без промежуточных float-ов.
Может не совсем понимаю задачу, но мне она видится таким образом
Есть некое действо/алгоритм или ещё что то, которое формирует некую величину. Там в любом случае масштабирование есть из неких величин в %, что мешает это не в % масштабировать. Я видел людей, которые даже сигналы с датчиков не масштабируют в реальные величины. Работать с этим не так удобно, но какая разница какие единицы