[uquote="Dimon456",url="/forum/viewtopic.php?p=4145750#p4145750"]Было бы 1023 я бы сказал что 10 битный ШИМ, 2048 - 11 битный ШИМ, 1600 - что-то между 10 и 11 бит. Но всяко ШИМ не 16 бит.[/uquote]И что? Главное - синус считается с точностью 16 бит. А фаза (угол) - вообще с точностью 32 бита. Это и даёт точность выходного сигнала по частоте и уровню.
[uquote="Dimon456",url="/forum/viewtopic.php?p=4145750#p4145750"]скорее всего используется компилятор с++, так как sin(x) принимает тип float.[/uquote]Вы исходники си-шные читать умеете? Где вы там видите sin(float ...)? Вы видите там объявление функции Sine()? Как она объявлена и комментарий к ней прочитали? Там совершенно явно указаны типы аргумента и результата функции. Перечитйте ещё раз.
Кроме того - ранее я уже писал что большая часть кода -
на ассемблере. Тот исходник, что я привел - псевдокод, иллюстрирующий алгоритм вычислений (так как если даже си тут похоже мало кто понимает, то ассемблер STM8 боюсь вообще никто не сможет понять

). В реальности код этот у меня написан на ассемблере.
[uquote="Dimon456",url="/forum/viewtopic.php?p=4145750#p4145750"]возможно какая-то таблица создается на этапе компиляции.[/uquote]Да уж.... похоже неизлечимый случай.... У вас какая-то зацикленность на таблицах.

4-й раз повторяю:
Я НЕ ИСПОЛЬЗОВАЛ ТАБЛИЦ. Никаких.
Вспоминайте школьный курс математики и вычисление функций при помощи полиномов. Синус прекрасно аппроксимируется полиномом 7-го порядка. Ещё раз:
совершенно без таблиц! И с точностью лучше 16 бит.
[uquote="Dimon456",url="/forum/viewtopic.php?p=4145750#p4145750"]и вот же зараза какая, да же с десятичными знаками циферка в циферку совпадает.[/uquote]Теперь возьмите квадрат, измерьте его от 1-го угла до 3-го, а потом от 2-го до 4-го. Результаты совпали? Совпали. Получили = X. Теперь возьмите окружность диаметром = X, измерьте её диаметр. Равен X. Вот же зараза - и у квадрата тоже по всем сделанным измерениям получили X! Означает ли это, что квадрат полностью аналогичен окружности?
Означает ли это, что если колёса сделать квадратными, то телега будет ездить так же, как на круглых?
Вот это примерно то же самое, что вы сделали.
[uquote="Dimon456",url="/forum/viewtopic.php?p=4145750#p4145750"]Просто, ради интереса, какой компилятор используется и сколько полностью код выполняется?[/uquote]Компилятор - IAR (на 8К он даже бесплатен, старые его версии), 2-й вопрос - неясен. Очевидно, что код выполняется от момента включения контроллера до его выключения.
Добавлено after 7 minutes 27 seconds:
[uquote="Dimon456",url="/forum/viewtopic.php?p=4145932#p4145932"]это частный случай, на каких-то кратных частотах.[/uquote]Ещё раз читаем пример про круг и квадрат. И пытаемся постигнуть смысл аллегории....