Forum: Mikrocontroller und Digitale Elektronik Problem mit MSP430 und Timer


von start1340 (Gast)


Lesenswert?

Hi, ich hab ein Problem mit einem MSP430 F5xxx und weiß gerade einfach 
nicht weiter.

Ich möchte am Pin 1.1 ein Signal ausgeben, das die Periode T hat und bei 
dem ich die Zeit Tein selbst bestimmen kann.

Also habe ich mir gedacht ich nehm den TimerA0, setze ihn in den up 
mode,als output nehme ich set/reset setze das das obere Register ccr0 
für die Periode T und nun brauch ich ja noch ein weiteres Register um 
die Zeit Tein einzutragen. Aber so wie ich das jetzt richtig verstanden 
habe greift dann ccr1 aber schon auf den nächsten pin zu wie hier in dem 
Beispielcode von Ti:

//                MSP430F552x
//            -------------------
//        /|\|                   |
//         | |                   |
//         --|RST                |
//           |                   |
//           |         P1.2/TA0.1|--> CCR1 - 75% PWM
//           |         P1.3/TA0.2|--> CCR2 - 25% PWM
//
//   Bhargavi Nisarga
//   Texas Instruments Inc.
//   April 2009
//   Built with CCSv4 and IAR Embedded Workbench Version: 4.21
//********************************************************************** 
********

#include <msp430f5529.h>

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P1DIR |= BIT2+BIT3;                       // P1.2 and P1.3 output
  P1SEL |= BIT2+BIT3;                       // P1.2 and P1.3 options 
select
  TA0CCR0 = 512-1;                          // PWM Period
  TA0CCTL1 = OUTMOD_7;                      // CCR1 reset/set
  TA0CCR1 = 384;                            // CCR1 PWM duty cycle
  TA0CCTL2 = OUTMOD_7;                      // CCR2 reset/set
  TA0CCR2 = 128;                            // CCR2 PWM duty cycle
  TA0CTL = TASSEL_2 + MC_1 + TACLR;         // SMCLK, up mode, clear TAR




Ich bräuchte allerdings das PWM Signal auf TA0.0. Ich hoffe ihr versteht 
was ich meine. Geht das irgendwie?

von Achim M. (minifloat)


Lesenswert?

Ohne es genau zu wissen:
Vielleicht
1
TA0CCTL0 = OUTMOD_7;
2
TA0CCR0 = 256;
sofern die Mnemonics logisch nachvollziehbar "benannt" wurden.

Den entsprechenden Portpin mit PxSEL noch als Output schalten und gut.
mfg mf

von start1340 (Gast)


Lesenswert?

so geht das leider nicht, ich brauche ja 2 register um einerseits die 
Periode T einzustellen und andererseits die Tein-Zeit.

von start1340 (Gast)


Lesenswert?

so wie ich das sehe kann ich auf pin 1.1 einfach kein pwm signal 
ausgeben, was ziemlich ungeschickt für mich ist... ich lass mich aber 
gern eines besseren belehren ;)

von Jörg S. (joerg-s)


Lesenswert?

start1340 schrieb:
> Ich bräuchte allerdings das PWM Signal auf TA0.0. Ich hoffe ihr versteht
> was ich meine. Geht das irgendwie?
Nein geht nicht. Da sind schon viele drauf reingefallen (ich auch) ;)

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.