Частота дискретизации ДДС должна быть в два раза выше выходного
сигнала. Ну пусть она будет 48 кГц для случая Ксении. Тогда вертеть
фазовый аккумулятор надо на частоте х256 =12.288 МГц. Это не
микроконтроллерное решение. Я бы сделал интерполятор - считал где
следующий отсчет и если он поменял знак, то вычислял где именно по
времени это произойдет и для инвертирования выходного сигнала
использовал дополнительный таймер с высокой частотой тактирования.
Но это сработает хорошо на низкой выходной частоте, там где приращение фазы маленькое. При большом придется как то синусность синуса учитывать.