У вас denom за пределами приведения к uint64
Именно так.. Я ошибочно посчитал, что в Си для AVR есть два формата чисел с плавающей запятой. Float и double. Вот тут например информация:
https://avrlab.com/node/35Но это оказалось вовсе не так. Случайно при пошаговой отладке в окне со значениями переменных увидел, что и Double и Float в AVR Studio занимают 4 байта. Понятно, что из 4 байтов (32 бита) 44- разрядное число никак не получится. Потом еще где-то нашел, что в этом компиляторе эти форматы равноценны.
Но то уже мелочи. Покумекаю, если нормального решения не найду, перенесу программу на STM32. Валяется модуль от китайцев..