中级会员 
   
	- 积分
 - 380
 
        - 金钱
 - 380 
 
       - 注册时间
 - 2019-10-24
 
      - 在线时间
 - 155 小时
 
 
 
 | 
 
30金钱 
首先附上代码,//TIM_HandleTypeDef TIM8_Handler;这里屏蔽是因为上面定义了,在此说明 
void TIM8_Init(u16 arr,u16 psc) 
{   
          //TIM_HandleTypeDef TIM8_Handler;       
                GPIO_InitTypeDef GPIO_Initure8; 
          TIM_Encoder_InitTypeDef TIM8_encoder_8;     
         
         __HAL_RCC_TIM8_CLK_ENABLE(); 
         __HAL_RCC_GPIOC_CLK_ENABLE();     
         
         
                GPIO_Initure8.Pin=GPIO_PIN_7|GPIO_PIN_6;//|GPIO_PIN_7|GPIO_PIN_6;           
                GPIO_Initure8.Mode=GPIO_MODE_AF_PP;     // 
                GPIO_Initure8.Pull=GPIO_PULLUP;         //上拉 
                GPIO_Initure8.Speed=GPIO_SPEED_FREQ_VERY_HIGH;    //高速 
          GPIO_Initure8.Alternate=GPIO_AF3_TIM8;   //复用time8 
                HAL_GPIO_Init(GPIOC,&GPIO_Initure8); 
         
          TIM8_Handler.Instance=TIM8;                           
    TIM8_Handler.Init.Prescaler=0;                     //预分频0 
    TIM8_Handler.Init.CounterMode=TIM_COUNTERMODE_UP;    //向上计数 
    TIM8_Handler.Init.Period=arr;                        //装载值  
    TIM8_Handler.Init.ClockDivision=TIM_CLOCKDIVISION_DIV1;//时钟分频因子 
   TIM8_Handler.Init.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_DISABLE; 
                 
         
          TIM8_encoder_8.EncoderMode=TIM_ENCODERMODE_TI1;  //TI1计数 
          TIM8_encoder_8.IC1Polarity=TIM_ICPOLARITY_RISING;  // 
          TIM8_encoder_8.IC1Selection=TIM_CCMR1_CC1S_0;  //通道1为输入,映射到TI1 
          TIM8_encoder_8.IC1Prescaler=TIM_ICPSC_DIV1;  //每一次触发都计数,不进行分频 
          TIM8_encoder_8.IC1Filter=0xA;  //? 
          TIM8_encoder_8.IC2Polarity=TIM_ICPOLARITY_RISING; 
                TIM8_encoder_8.IC2Selection=TIM_CCMR1_CC2S_0; 
          TIM8_encoder_8.IC2Prescaler=TIM_ICPSC_DIV1; 
          TIM8_encoder_8.IC2Filter=0XA; 
                 
 
                HAL_TIM_Encoder_Init(&TIM8_Handler,&TIM8_encoder_8); 
                 __HAL_TIM_ENABLE(&TIM8_Handler); 
                //HAL_TIM_Encoder_Start(&TIM8_Handler,TIM_CHANNEL_1);   
} 
在调试过程,转动编码器 TIM8->CNT 计数会在0和FFFE之间跳动 
这个配置有路过的大神指导一下吗 
file:///C:\Users\DSP\AppData\Roaming\feiq\RichOle\2015696600.bmp 
file:///C:\Users\DSP\AppData\Roaming\feiq\RichOle\2015696600.bmp 
file:///C:\Users\DSP\AppData\Roaming\feiq\RichOle\2015696600.bmpfile:///C:\Users\DSP\AppData\Roaming\feiq\RichOle\2015696600.bmp 
file:///C:\Users\DSP\AppData\Roaming\feiq\RichOle\2015696600.bmpfile:///C:\Users\DSP\AppData\Roaming\feiq\RichOle\2015696600.bmpfile:///C:\Users\DSP\AppData\Roaming\feiq\RichOle\2015696600.bmp 
 |   
 
 
 
 
 
 |