Цитата(dungeon @ Aug 7 2013, 13:28)

TA1CCR0 не только период ШИМа задает но и разрядность таймера TA1
Разрядность TimerA определена
аппаратно разрядностью TAR - больше 16-и разрядов вы ему не определите

А вот у TimerB можно аппаратно ограничивать разрядность TBR от 16 до 12, 10 или 8 бит.
Я все же настаиваю, что значением регистра TAxCCR0 задается не разрядность, а
период следования импульсов ШИМ. Потому, что в процессе работы таймера аппаратно изменяется значение TAR, а значение TAxCCR0 при генерации сигнала ШИМ (в режиме compare) аппаратно не меняется.
Цитата(dungeon @ Aug 7 2013, 13:28)

(прерывания будут возникать одновременно от TA1CCR0 и TA1).
Прерывания от TAxCCR0, TAxCCR1 и TAIFG запрещаются/разрешаются по-отдельности. Правда вектора прерываний у них разные. TIMERx_A0_VECTOR для TAxCCR0 и TIMERx_A1_VECTOR для всех остальных источников TimerAx.
Цитата(dungeon @ Aug 7 2013, 13:28)

Если TA1CCR1 изменять на 1 то "коллизии" возникнуть не должно, так как при отработке прерывания TA1 сможет посчитать гораздо больше единицы. А вот если изменять на большее число то тут вы конечно правы. Есть над чем подумать.
Проявление "коллизии" зависит всего лишь от соотношения тактовых частот ядра МК и таймера, и соответственно от длительности выполнения функции обработчика прерывания и величины шага приращения ШИМ. В общем случае тактовые частоты ядра MSP430 и таймера могут быть асинхронны и совершенно различными по величине. Так что с точки зрения надежности лучше все же изменять значение длительности импульса ШИМ именно в конце или в самом начале периода ШИМ.