配置成正交编码模式配置失败

2019-07-14 13:32发布

void Encoder_Iint(void)
{
          GPIO_InitTypeDef         GPIO_InitStructure;
          tiM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
                TIM_ICInitTypeDef                                 TIM_ICInitStruct;
//           NVIC_InitTypeDef         NVIC_InitStructure;
        
          //PB6,PB7,浮空输入
                RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);
        
    GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7;
          GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;
          GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
          GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
          GPIO_Init(GPIOB,&GPIO_InitStructure);
        
          GPIO_PinAFConfig(GPIOB,GPIO_PinSource6,GPIO_AF_TIM4);
    GPIO_PinAFConfig(GPIOB,GPIO_PinSource7,GPIO_AF_TIM4);        

          RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);         
                TIM_TimeBaseStructure.TIM_Period =1;//计数器重装值
          TIM_TimeBaseStructure.TIM_Prescaler =0;
          TIM_TimeBaseStructure.TIM_ClockDivision = 0;
          TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
          TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
        
    TIM_EncoderInterfaceConfig(TIM4,TIM_EncoderMode_TI12,
                                           TIM_ICPolarity_Rising,TIM_ICPolarity_Rising);

    TIM_ICStructInit(&TIM_ICInitStruct);
                TIM_ICInitStruct.TIM_ICFilter=2;
                TIM_ICInit(TIM4,&TIM_ICInitStruct);

                TIM_ClearFlag(TIM4,TIM_FLAG_Update);        
//  TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE);
                //Rest counter
                TIM_SetCounter(TIM4,0);
               
           TIM_Cmd(TIM4, ENABLE);        
               
}配置成正交编码模式,不知道怎么了没配置成功,请大家帮帮忙,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。