串口遥控器控制电机动作,只有控制部分,没有串口通讯过程

串口遥控器控制电机,
Key_Value_Rst == 0 的时候,串口向遥控器发送一个指令
遥控器通过判断这个指令来,清除Key_Ture_Value的值

主要实现功能:控制翻身电机
如果腿部两马达处于放平位置(腿部1处于最小行程,腿部2处于最大行程),
腿部两马达不动作,如果腿部两马达未处于放平位置,则腿部两马达先动作至放平
位置;其次,如果背部处于平躺位置(背部马达处于最小行程),则背部马达不动
作,如果背部没有处于平躺位置,则背部马达先放平。这时再次双击按键翻身马达
开始动作,中途按压任意按键或松开按键,马达停止。
/*
* 描述: 翻身电机控制
* 参数: 1 Up 2Down
* 返回: 无*/
void Motor_Turn_Run(u8 dir)
{
    if(Motor_Head_Position == 1)
    {
        Motor_Head_Stop();    
        if((Motor_Foot1_Position == 1)&&(Motor_Foot2_Position == 5))
        {
            Motor_Foot1_Stop();    
            Motor_Foot2_Stop();
            if(motor_turn_run_flag == 1)
            {
                Key_Value_Rst = 0;
            }
            else
            {
                if(dir == KEY_LEFT_RUN)
                {
                    Turn_Check_Position(MOTOR_DIR_UP);
                }
                else if(dir == KEY_RIGHT_RUN)
                {
                    Turn_Check_Position(MOTOR_DIR_DOWN);
                }
            }
        }
        else
        {
            motor_turn_run_flag = 1;
            Foot2_Check_Position(MOTOR_DIR_UP);
            Foot1_Check_Position(MOTOR_DIR_DOWN);
        }
    }    
    else
    {
        motor_turn_run_flag = 1;
        Head_Check_Position(MOTOR_DIR_DOWN);
    }
}

你可能感兴趣的:(串口遥控器控制电机动作,只有控制部分,没有串口通讯过程)