Мануал я читал, примеры смотрел.. Но не работает

Код
void ClockInit() {
BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;
}
void TAInit() {
P2DIR |= 0x40; // P2.6 output
P2SEL |= 0x40; // P2.6 TA1/2 options
CCR0 = 512-1; // PWM Period
CCTL1 = OUTMOD_7; // CCR1 reset/set
CCR1 = 384; // CCR1 PWM duty cycle
TACTL = TASSEL_2 + MC_1; // SMCLK, up mode
}
int main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
ClockInit();
SD16Init();
TAInit();
while(1) {}
}
В результате P2.6 в воздухе, т.е. как выход не работает.
Если убрать бит P2SEL.6, можно управлять пином как простым выходом.
Ничего не понимаю..
Если заменить строчки:
Код
P2DIR |= 0x40; // P2.6 output
P2SEL |= 0x40; // P2.6 TA1/2 options
На:
Код
P1DIR |= 0x40; // P1.6 output
P1SEL |= 0x40; // P1.6 TA1/2 options
То все работает. На P1.6, естественно.
У меня запас идей закончился