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