PWM unterbrechen MSP430

Gast #3093049
Lesenswert?

Hi,

klurze Frage zum  Beenden einer PWM beim MSP430.

Die PWM läuft problemlos an, einzig würde ich sie gerne in bestimmten 
Zeiten unterbrechen.

1
void timer0_A5_init(void)    //PWM
2
{
3
TA0CTL   = TACLR;
4
TA0CCTL0  = CCIE;
5
TA0CCR0  = 11;          
6
TA0CTL  = TASSEL__ACLK;    
7
TA0CTL    |= MC__UP;// Up mode.
8
  
9
TA0CCR2  = 5;
10
TA0CCTL2 |= OUTMOD_3;  // set / reset - Modus
1
//main-while(1)
2
while(1)
3
{
4
TA0CTL  |= MC__UP;
5
TA1CCTL0 |= CCIE;
6
__delay_cycles(655360); //0,1 on
7
TA1CCTL0 &=~ CCIE;
8
TA0CTL    |= MC__STOP;
9

10
__delay_cycles(655360/3);  //0,1 off
11
        
12
TA1CCTL0 |= CCIE;
13
TA0CTL    |= MC__UP;
14
__delay_cycles(655360/2); //0,1 on
15
TA1CCTL0 &=~ CCIE;
16
TA0CTL    |= MC__STOP;
17
__delay_cycles(5898240);
18
}


...leider läuft die PWM unentwegt weiter... Ich hatet gedacht, durch den 
MC__STOP - Befehl für den Timer würde sie stoppen, tut sie aber nicht.

Was mache ich falsch?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren