Цитата(Метценгерштейн @ Dec 1 2015, 16:42)

я стартую ЦАП, когда заношу во временные регистры какое-либо значение
DAC->DHR12R1=sin[i++];
В данном случае я делаю это в прерывании таймера 6.
Почему я не могу это делать в другом таймере? Почему именно в таймере для ЦАП?
А кто сказал, что не можете?
Можете. Вообще, без каких-либо таймеров и прерываний - пишите, сколько угодно.
Таймер 6 нужен, если хочется убрать прерывания совсем и заталкивать данные через DMA.
Вот тогда-то связки и понадобятся: таймер генерирует для DAC'а событие, а он генерирует событие для DMA, в DAC пересылается очередная порция данных.
PS советики:
- за глобальную переменную i убивать на месте. Глобальные имена должны хоть какой-то смысл нести.
- если условие (i==32) переписать на (i>=countof(sin_arr)), можно заблаговременно обойти целых две грабли: изменение размера массива и случайная запись в i > 32.