标题: STM32正交编码器AB相配置 [打印本页]

作者: 491621    时间: 2019-11-9 16:09
标题: STM32正交编码器AB相配置

static void TIM4_Mode_Config(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        TIM_ICInitTypeDef TIM_ICInitStructure;          

        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
       
        /*正交编码器输入引脚*/
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;         
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB, &GPIO_InitStructure);                           

        /*- TIM编码器模式配置-*/
        TIM_DeInit(TIM4);
        TIM_TimeBaseStructure.TIM_Period = Parameter * 2;        //u16        Parameter = 512;输入编码器线数       
        TIM_TimeBaseStructure.TIM_Prescaler = 0;
        TIM_TimeBaseStructure.TIM_ClockDivision =TIM_CKD_DIV1 ;
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
        TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);              

        TIM_EncoderInterfaceConfig(TIM4, TIM_EncoderMode_TI1, TIM_ICPolarity_Rising ,TIM_ICPolarity_Rising);        //配置编码器模式3,即触发源和极性
       
        TIM_ICStructInit(&TIM_ICInitStructure);                                                                                                                                                                                                                                                                                                   
        TIM_ICInitStructure.TIM_ICFilter = 6;
        TIM_ICInit(TIM4, &TIM_ICInitStructure);
               
        TIM4->CNT = 0;

        TIM_Cmd(TIM4, ENABLE);   //启动TIM4定时器
}

void TIM4_Init(void)
{
  TIM4_Mode_Config();
}



作者: ferry21    时间: 2019-12-4 09:44
有完整代码吗
作者: 491621    时间: 2020-4-23 12:03
标题: RE: STM32正交编码器AB相配置
STM32 正交编码器AB相配置.7z (182.82 KB, 下载次数: 58)




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1