void main()
{
uint16 count;
printf("\n*****TPM 脉冲计数 测试*****\n");
tpm_pwm_init(TPM0, TPM_CH0,1500,50); //初始化 PWM
tpm_pulse_init(TPM1,TPM_CLKIN0,TPM_PS_1); //初始化 TPM2 为脉冲累加,输入管脚为 TPM_CLKIN0_PIN ,分频系数为 1
while(1)
{
tpm_pulse_clean(TPM1); //清空脉冲计数器计算值(马上清空,这样才能保证计数值准确)
pit_delay_ms(PIT0,1000); //利用 PIT 延时时间,LPTMR模块进行 计算,累加 FTM 产生的PWM脉冲
count = tpm_pulse_get(TPM1); //保存脉冲计数器计算值
printf("LPTMR脉冲计数为:%d\n", count); //打印计数值
}
}
如果我把(tpm_pwm_init(TPM0, TPM_CH0,1500,50); //初始化 PWM)注释掉的话,就不能计数了,这是为什么。这句话跟计数无关啊。波形是用波形发生器给的。如果不注释的话就行。
|
|