修复了servo类型定义错误
This commit is contained in:
parent
7e36f6a0cf
commit
c2f8b5c8c3
|
@ -42,6 +42,7 @@ USARTInstance *USARTRegister(USART_Init_Config_s *init_config)
|
||||||
instance->module_callback = init_config->module_callback;
|
instance->module_callback = init_config->module_callback;
|
||||||
|
|
||||||
usart_instance[idx++] = instance;
|
usart_instance[idx++] = instance;
|
||||||
|
USARTServiceInit(instance);
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -83,32 +83,30 @@ void Servo_Motor_Type_Select(ServoInstance *Servo_Motor, int16_t mode)
|
||||||
void Servo_Motor_Control()
|
void Servo_Motor_Control()
|
||||||
{
|
{
|
||||||
static ServoInstance *Servo_Motor;
|
static ServoInstance *Servo_Motor;
|
||||||
static Servo_Type_e Servo_type;
|
|
||||||
|
|
||||||
for (size_t i = 0; i < servo_idx; i++)
|
for (size_t i = 0; i < servo_idx; i++)
|
||||||
{
|
{
|
||||||
if (servo_motor_instance[i])
|
if (servo_motor_instance[i])
|
||||||
{
|
{
|
||||||
Servo_Motor = servo_motor_instance[i];
|
Servo_Motor = servo_motor_instance[i];
|
||||||
Servo_type = Servo_Motor->Servo_type;
|
|
||||||
|
|
||||||
switch (Servo_type)
|
switch (Servo_Motor->Servo_type)
|
||||||
{
|
{
|
||||||
case Servo180:
|
case Servo180:
|
||||||
if (Servo_Motor->Servo_type == Start_mode)
|
if (Servo_Motor->Servo_Angle_Type == Start_mode)
|
||||||
compare_value[i] = 0.5 * 20000 / 20 + Servo_Motor->Servo_Angle.Init_angle * 20000 / 20 / 90;
|
compare_value[i] = 0.5 * 20000 / 20 + Servo_Motor->Servo_Angle.Init_angle * 20000 / 20 / 90;
|
||||||
if (Servo_Motor->Servo_type == Final_mode)
|
if (Servo_Motor->Servo_Angle_Type == Final_mode)
|
||||||
compare_value[i] = 0.5 * 20000 / 20 + Servo_Motor->Servo_Angle.Final_angle * 20000 / 20 / 90;
|
compare_value[i] = 0.5 * 20000 / 20 + Servo_Motor->Servo_Angle.Final_angle * 20000 / 20 / 90;
|
||||||
if (Servo_Motor->Servo_type == Free_Angle_mode)
|
if (Servo_Motor->Servo_Angle_Type == Free_Angle_mode)
|
||||||
compare_value[i] = 0.5 * 20000 / 20 + Servo_Motor->Servo_Angle.free_angle * 20000 / 20 / 90;
|
compare_value[i] = 0.5 * 20000 / 20 + Servo_Motor->Servo_Angle.free_angle * 20000 / 20 / 90;
|
||||||
__HAL_TIM_SET_COMPARE(Servo_Motor->htim, Servo_Motor->Channel, compare_value[i]);
|
__HAL_TIM_SET_COMPARE(Servo_Motor->htim, Servo_Motor->Channel, compare_value[i]);
|
||||||
break;
|
break;
|
||||||
case Servo270:
|
case Servo270:
|
||||||
if (Servo_Motor->Servo_type == Start_mode)
|
if (Servo_Motor->Servo_Angle_Type == Start_mode)
|
||||||
compare_value[i] = 0.5 * 20000 / 20 + Servo_Motor->Servo_Angle.Init_angle * 20000 / 20 / 135;
|
compare_value[i] = 0.5 * 20000 / 20 + Servo_Motor->Servo_Angle.Init_angle * 20000 / 20 / 135;
|
||||||
if (Servo_Motor->Servo_type == Final_mode)
|
if (Servo_Motor->Servo_Angle_Type == Final_mode)
|
||||||
compare_value[i] = 0.5 * 20000 / 20 + Servo_Motor->Servo_Angle.Final_angle * 20000 / 20 / 135;
|
compare_value[i] = 0.5 * 20000 / 20 + Servo_Motor->Servo_Angle.Final_angle * 20000 / 20 / 135;
|
||||||
if (Servo_Motor->Servo_type == Free_Angle_mode)
|
if (Servo_Motor->Servo_Angle_Type == Free_Angle_mode)
|
||||||
compare_value[i] = 0.5 * 20000 / 20 + Servo_Motor->Servo_Angle.free_angle * 20000 / 20 / 135;
|
compare_value[i] = 0.5 * 20000 / 20 + Servo_Motor->Servo_Angle.free_angle * 20000 / 20 / 135;
|
||||||
__HAL_TIM_SET_COMPARE(Servo_Motor->htim, Servo_Motor->Channel, compare_value[i]);
|
__HAL_TIM_SET_COMPARE(Servo_Motor->htim, Servo_Motor->Channel, compare_value[i]);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue