void TIMER_Configuration(void)
{
TIM_ICInitTypeDef TIM_ICInitStructure;// 库函数定义的时钟结构体
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
// TIM_DeInit(TIM2);
TIM_TimeBaseStructure.TIM_Period =0xffff; //自动重装载寄存器的值
TIM_TimeBaseStructure.TIM_Prescaler =0; //TIM2时钟频率除数的预分频值
TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; //采样分频
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数模式
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_ICInitStructure.TIM_Channel = TIM_Channel_2; //选择通道2
TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; //输入上升沿捕获
TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; // 通道方向选择
TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; //每次检测到捕获输入就触发一次捕获
TIM_ICInitStructure.TIM_ICFilter = 0x01; //选择输入比较滤波器,滤波设置,经历几个周期跳变认定波形稳定0x0~0xF
// TIM_ICInit(TIM2, &TIM_ICInitStructure);
TIM_PWMIConfig(TIM2, &TIM_ICInitStructure);
TIM_SelectInputTrigger(TIM2, TIM_TS_TI2FP2);
TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_Reset);
TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable);
// TIM_ITConfig(TIM2,TIM_IT_CC2,ENABLE);
TIM_Cmd(TIM2, ENABLE); //开启时钟
TIM_ITConfig(TIM2, TIM_IT_CC2, ENABLE);
}
贴下程序路过的帮忙看下谢谢
|