Hi,
I'd prefer to use the driverlib code, though setting registers is OK, too.
The Heater is on P1.4, should be 10kHz. I need to use different frequencies for different Heater levels.
- Which timer do I need? TIMER1_A0 or TIMER0_A1? (TIMER0_A0 is already used as the main system timer)
- How do I change frquencies while the program is running?
In the Picollo DSP28035 was able to change the PWM frequency by changing the CTRMODE to
TB_COUNT_DOWN // heater off
TB_COUNT_UPDOWN // heater 50%
TB_COUNT_UP // heater 100%
I need to do something similar using with the MSP430:
switch (Param.Heater_Mode)
{
case HEATER_OFF: // Constantly off
EPwm7Regs.TBCTL.bit.CTRMODE = TB_COUNT_DOWN; // 0%
HeaterState = HEATER_OFF;
break;
case HEATER_AUTO_HI: // Automatic
case HEATER_AUTO_LO: // Automatic
EPwm7Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // 100% // for now
HeaterState = HEATER_ON_HI;
break;
case HEATER_ON_LO: // Constantly on low
EPwm7Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // 50%
HeaterState = HEATER_ON_LO;
break;
case HEATER_ON_HI: // Constantly on high
EPwm7Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // 100%
HeaterState = HEATER_ON_HI;
break;
default:
EPwm7Regs.TBCTL.bit.CTRMODE = TB_COUNT_DOWN; // 0%
HeaterState = HEATER_OFF;
break;
}
Thanks for any help,
Mechi
