按照说明,比如设置TIMx CCMR1的D[3:2]=1(IC1PSC,2分频),实际却是一分频,即输入无分频功能,设为其他值也一样.TIMx的例子内有捕获的例子(1分频,可以设为多分频),各位可以测试.
我的程序见笑了,不值一提.我已经用笨法--外加分频来解决.难道没人用这个功能吗?我会一直关注它这个功能的,只要有时间.
例子中见:
TIM_ICInitStructure.TIM_Channel = TIM_Channel_2; TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; //将TIM_ICPSC_DIV1改为如下值可以测试捕获的预分频功能(TI2FP2) //#define TIM_CKD_DIV1 ((u16)0x0000) //#define TIM_CKD_DIV2 ((u16)0x0100) //#define TIM_CKD_DIV4 ((u16)0x0200) TIM_ICInitStructure.TIM_ICFilter = 0x0;
TIM_PWMIConfig(TIM2, &TIM_ICInitStructure);
/* Select the TIM2 Input Trigger: TI2FP2 */ TIM_SelectInputTrigger(TIM2, TIM_TS_TI2FP2);
/* Select the slave Mode: Reset Mode */ TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_Reset);
/* Enable the Master/Slave Mode */ TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable);
/* TIM enable counter */ TIM_Cmd(TIM2, ENABLE);
/* Enable the CC2 Interrupt Request */ TIM_ITConfig(TIM2, TIM_IT_CC2, ENABLE);
|