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?