TPM V3 initialisation

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

TPM V3 initialisation

1,538 次查看
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

标签 (1)
0 项奖励
回复
2 回复数

939 次查看
Harman
Contributor II

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

Jan

0 项奖励
回复

939 次查看
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 项奖励
回复