рисовал синусоиду (FSK-модем) на STM32 - менял частоту на ходу.
таймер дёргал DMA и из массива значений прескалера (соответственно
битам) значение собственно в прескалер второго таймера залетало. а
второй в свою очередь дёргал второй DMA и значения напряжений из
таблицы синуса залетали в GPIO, ну а там R-2R. для шаговика вроде
как ЦАП не нужен, но мертвую зону не каждый таймер нарисовать
сможет