Цитата(Sagittarius @ Oct 14 2009, 08:37)

то, что 6 каналов это знаю, но DMA же к ним не подключено? Доку только сейчас стал читать, еще не разобрался.
А логику внешнюю ставить это дорого будет, хотя, конечно, первое о чем думаешь :-)
STM32 можно на 1 таймере сделать до 4 ШИМ. Далее, регистры CCR1..CCR4 одного таймера расположены в памяти последовательно. Сам так не делал, но судя по всему можно настроить DMA на пересылку пакетов по 16 байт, источник - память, приемник - CCR1 выбранного таймера. Таким образом будут переписываться сразу 4 канала. Т.е. частота ШИМ должна быть одна (для 4 каналов), а вот значения могут быть разными.
Если нужно больше каналов - берем ещё один таймер и канал DMA.
Или если частота самого ШИМ не слишком высока (до десятка кГц) то можно вообще программно в прерывании от того же таймера перезагружать регистры