MSP430 PWM auf an zwei Pins

Gast #4355963
Hallo,

ich benutze den Timer eines MSP430F2012 als PWM. Das funktioniert auch
schön. Ich müßte aber den Ausgang des PWM wahlweise jetzt auf zwei
unterschiedliche Pins legen können(SW gesteuert).

Aus dem Datenblatt und dem User Guide werde ich aber nicht schlau ob das 
überhaupt geht.

Kann mir da bitte jemand helfen ?

Danke
Gast
ich denke dasselbe interne PWM signal kann man nicht auf 2 parallele 
Pins legen, aber was immer geht ist 2 verschiedene pins zB TA0.1 und 
TA0.2 nehmen und eben die entpsrechenden Capture Compare Register 
einfach gleich laden, da das Grundtiming von TimerA bei beiden exakt 
gleich ist, kommen auch die gleichen PWMs am Ende heraus.
Gast
Danke für die Antwort.

Genau das ist aber mein Problem.

Ich brauche das Signal nicht gleichzeitig auf zwei Pins, sondern
alternativ auf zwei unterschiedlichen Pins, gesteuert per SW.

Der MSP430F2012 hat aber nur zwei Compareregister die ich brauche
um die Pulsweite zu modulieren. Der Puls kommt jetzt auf TA1 raus.
Was muss ich bitte machen um ihn auf TA0 umzuleiten?

Vielleicht stelle ich mich nur zu doof an.

Danke
Gast
hab jetzt deinen MSP nicht angekuckt, ich weiss nur auf den größeren 
MSPs gibt es ein TA0.0 Register, auf dem geht keine PWM, der beinhaltet 
nur das Grundtiming, also kann da keine PWM ausgegebene werden.
Wenn das bei dir ähnlich ist, kannst du nur eine PWM ausgeben, dann 
musst du zu einem MSP wechseln der eben deine Anforderungen erfüllt.

Oder ganz allgemein gesprochen :) wenn du Auto fahren willst kaufst du 
auch kein Motorrad.

Mit Software kannst du natürlich 2 PWMs erzeugen, sowas kann man immer 
machen.
Der MSP430F2012 kann TA0 nur auf P1.1 und/oder P1.5 ausgeben, und TA1 
nur auf P1.2, P1.6, und/oder P2.6. Es ist also nicht möglich, einen 
TA1-Pin auf einen TA0-Pin umzuleiten.

Du hast P1.2/P1.6/P2.6 zur Auswahl. Wenn davon zwei nicht mehr frei 
sind, brauchst du externe Logik.
Gast
msp430pwm schrieb:
> Der MSP430F2012 hat aber nur zwei Compareregister die ich brauche
> um die Pulsweite zu modulieren. Der Puls kommt jetzt auf TA1 raus.
> Was muss ich bitte machen um ihn auf TA0 umzuleiten?
>
> Vielleicht stelle ich mich nur zu doof an.

Ja, TA1 ist auf mehreren Pins als alternate function verfügbar. Du 
kannst das für jeden der Pins einzeln auswählen. Damit gilt

Clemens L. schrieb:
> TA0 nur auf P1.1 und/oder P1.5
Clemens L. schrieb:
> TA1 nur auf P1.2, P1.6, und/oder P2.6
man beachte *und/oder*
ist zwar was älter der thread, aber ich antworte mal trzd.
probier es einfach mit dem zweiten Timer, du hast ja timer a und timer 
b.
dann initialisiert du sie einfach gleich und hast dein signal auf zwei 
unterschiedlichen pins.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.