CUBEMX配置编码器模式
选择的encoderMode是 TI1和TI2模式。这种模式下,AB两相的上升沿和下降沿都会计数,所以计数值是实际值的4倍,需要做分频。也就是第一个参数,分频值设为3,实际上是3+1=4分频。
HAL_TIM_Encoder_Start(&htim2, TIM_CHANNEL_ALL);//开启编码器模式
enc1 = (uint32_t)(__HAL_TIM_GET_COUNTER(&htim2));//获取定时器的值
PWM产生
prescaler的目的是保证电机反应足够快 7200PWM总值,Pulse/7200即为占空比
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1); 开启PWM模式
__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, pwmVal) 设置PWM波占空比