野火拂晓电机程序解析
Usermotor_controlsp_motor_control.c中:
/**
* @brief 设置电机方向
* @param 无
* @retval 无
*/
void set_motor_direction(motor_dir_t dir)
{
direction = dir;
if (direction == MOTOR_FWD)
{
SET_FWD_COMPAER(dutyfactor); //设置正向速度
SET_REV_COMPAER(0); //设置反向速度
}
else
{
SET_FWD_COMPAER(0); //设置正向速度
SET_REV_COMPAER(dutyfactor); //设置反向速度
}
}
/**
* @brief 设置电机方向
* @param 无
* @retval 无
*/
void set_motor2_direction(motor_dir_t dir)
{
direction2 = dir;
if (direction2 == MOTOR_FWD)
{
SET2_FWD_COMPAER(dutyfactor2); //设置正向速度
SET2_REV_COMPAER(0); //设置反向速度
}
else
{
SET2_FWD_COMPAER(0); //设置正向速度
SET2_REV_COMPAER(dutyfactor2); //设置反向速度
}
}
Usermotor_controlsp_motor_control.h
/* 设置速度(占空比) */ #define SET_FWD_COMPAER(ChannelPulse) TIM1_SetPWM_pulse(PWM_CHANNEL_1, ChannelPulse) //设置比较寄存器的值 #define SET_REV_COMPAER(ChannelPulse) TIM1_SetPWM_pulse(PWM_CHANNEL_2, ChannelPulse) //设置比较寄存器的值
/* 设置速度(占空比)2 */ #define SET2_FWD_COMPAER(ChannelPulse) TIM1_SetPWM2_pulse(PWM_CHANNEL_1, ChannelPulse) //设置比较寄存器的值 #define SET2_REV_COMPAER(ChannelPulse) TIM1_SetPWM2_pulse(PWM_CHANNEL_2, ChannelPulse) //设置比较寄存器的值
