TPM V3 initialisation

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

TPM V3 initialisation

935 Views
Lj_cyril
Contributor I

Hi evrybody,

 

I use the TPM module version 3 on a 9S08AC60 in PWM edge aligned methode

and i have some trouble with the setup of this module.

 

Here is my code :

  //setup timer for PWM leds
  TPM1MOD=MAX_VALUE_PWM-2;
  TPM1SC=0x08;
 
  //setup timer PWM led by led  
  TPM1C0V=0;
  TPM1C2V=0;
  TPM1C3V=0;
 
  TPM1C0SC=0x24;
  TPM1C2SC=0x24;
  TPM1C3SC=0x24;

and after to change the duty cycle

        TPM1C0V=table_cpt_pwm[0];
        TPM1C2V=table_cpt_pwm[2];
        TPM1C3V=table_cpt_pwm[1];

 

 

My trouble is that when i reset  my CPU, i can see 1 duty cycle

at 0. and after all works fine.

 

Any idea ??

 

Thanks for your help

Labels (1)
0 Kudos
2 Replies

336 Views
Harman
Contributor II

Please how did you solve the mentioned problem. I have the same one now. Thank you very much.

Jan

0 Kudos

336 Views
bigmac
Specialist III

Hello Jan,

 

As the TPM module provides buffered PWM operation, the observed behavior is correct - the duty cycle will not change until the next TPM overflow occurs.  If you need immediate update of a new channel register value, disable the TPM module before doing the update.

 

During TPM initialisation, you should consider that the TPM1SC register be the final one to be written, to enable the module.

 

Regards,

Mac

 

0 Kudos