Forum: Mikrocontroller und Digitale Elektronik MSP430F1232 P1.1 PWM möglich ?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Benedikt (Gast)


Lesenswert?

Hallo liebe elektronen,

ist es richtig, dass man am P1.1 (TA0) des MSP430F1232 keine PWM 
erzeugen kann, sondern nur maximal symmetrisch toggeln ?

ODER gibt es vielleicht doch eine Möglichkeit eine PWM (0-100% Duty 
Cycle) an diesem PIN zu erzeugen ???

  Gruß
    Benedikt

von Stefan (Gast)


Lesenswert?

Gehen tut alles... ist nur eine Frage des Aufwands ;-)
Lass z.B. den Timer im "continuous mode" rennen (also bis 0xFFFF).
Clock source und Vorteiler bestimmen dann die Periodendauer. Mit CCR0 
legst Du dann den Duty Cycle fest (outmode 1: set). Musst dann den Timer 
Interrupt aktivieren (TAIFG) und in der ISR den output manuell auf '0' 
zurücksetzen und danach wieder outmode 1 aktivieren. Nicht getestet, 
aber so in der Art sollte es funzen.

von MichiB (Gast)


Lesenswert?

Warum sollte TA0 kein PWM am Pin generieren können?

TACTL = CNTL_0                          // 16bit Timer
        + TASSEL_2                      // Quelle: SMLCK
        + MC_1                          // Up-Mode
        + ID_3;                         // 1/8 FOSC (1MHz)

TACCTL0 = OUTMOD_7                      // Reset/Set

Nicht getestet, sollte aber funktionieren.

von Stefan (Gast)


Lesenswert?

@MichiB
Schonmal den User-Guide angeschaut?
Wenn CCRx = CCR0, dann machen die Modes 2,3,6 u. 7 keinen Sinn!

von MichiB (Gast)


Lesenswert?

@Stefan

Stimmt auch wieder. Alles zurückgenommen und das Gegenteil behauptet.

von Stefan (Gast)


Lesenswert?

>Stimmt auch wieder. Alles zurückgenommen und das Gegenteil behauptet.
Brav ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.