Quantcast
Channel: MSP low-power microcontroller forum - Recent Threads
Viewing all articles
Browse latest Browse all 21951

MSP430 (F5438A) PWM on pin 26 (P21_TA10)

$
0
0

Hi all,

I have a great (and working) example PWM code for pin 27 (P22_TA11), but I'm having problem doing the apparently simple porting to pin 26 (P21_TA10).

Could someone help?

Should I use TA0? Or is it still TA1, but use CCR0, CTL0?  I'm all confused about all the 0 and 1 endings for these registers.

OR only need to change the port pin definition to BIT1?

What am I missing?

This is the code that works:

#define MOTOR_DEFAULT_DUTYCYCLE   ( 13 )     // default duty cycle

#define MOTOR_PWM_PERIOD ( 512 )      // default PWM period

#define MOTOR_PWM_SEL P2SEL

#define MOTOR_PWM_DIR P2DIR

#define MOTOR_PWM_PIN BIT2

void motorInitInterface( void )

{
    // Port configuration
    MOTOR_PWM_SEL |= MOTOR_PWM_PIN;  // Motor PWM function
    MOTOR_PWM_DIR |= MOTOR_PWM_PIN;  // Output
 
    // Setup Timer A, PWM
    TA1CTL = TASSEL_1 + MC_3;                           // SMCLK, up down mode */
    TA1CCR0 = MOTOR_PWM_PERIOD;              // PWM Period
    motorSetDutyCycle( MOTOR_DEFAULT_DUTYCYCLE );             //Set PWM Duty Cycle
    TA1CCTL1 = OUTMOD_2;                                                                    // TACCR1 set/reset mode
}

void motorSetDutyCycle( U08 DutyCycle )
{

    TA1CCR1 = ( ( U32 )DutyCycle * ( U32 )MOTOR_PWM_PERIOD ) / 100 ;      // Set PWM Duty Cycle

}

Thanks !!!!!!

Cheers,

Gil


Viewing all articles
Browse latest Browse all 21951

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>