����c8t6С�����Ҳμӵ�����ʱ�����ģ�Ŀǰ���к���Ѱ����oledʵʱ��ʾʱ�䣬����ͨ�ţ����ֻ�������ʾС���˶�ʱ�䣬���м�����mpu6050ģ����pid�㷨��ʵ����С�������ΰ��ϵ�ƽ�⡣С������Ƭ��ԭ��ͼ�����ڸ������ˣ����ҿ��Կ�һ����
����������ʵ��ͼ���£�
��·ԭ��ͼ���£�
/**
* @par Copyright (C): 2010-2019, Shenzhen Yahboom Tech
* @file app_motor.c
* @author liusen
* @version V1.0
* @brief С���˶����ƺ���
* @details
* @par History ������˵��
*
* version: liusen_20170717
*/
#include "app_motor.h"
#include "sys.h"
#include "bsp_motor.h"
#define LeftMotor_Go() {GPIO_SetBits(Motor_Port, Left_MotoA_Pin); GPIO_ResetBits(Motor_Port, Left_MotoB_Pin);GPIO_SetBits(Motor_Port1, Left_MotoA1_Pin); GPIO_ResetBits(Motor_Port1, Left_MotoB1_Pin);}//��ת
#define LeftMotor_Back() {GPIO_ResetBits(Motor_Port, Left_MotoA_Pin); GPIO_SetBits(Motor_Port, Left_MotoB_Pin);GPIO_ResetBits(Motor_Port1, Left_MotoA1_Pin); GPIO_SetBits(Motor_Port1, Left_MotoB1_Pin);}//��ת
#define LeftMotor_Stop() {GPIO_ResetBits(Motor_Port, Left_MotoA_Pin); GPIO_ResetBits(Motor_Port, Left_MotoB_Pin);GPIO_ResetBits(Motor_Port1, Left_MotoA1_Pin); GPIO_ResetBits(Motor_Port1, Left_MotoB1_Pin);}//ֹͣ
#define RightMotor_Go() {GPIO_SetBits(Motor_Port, Right_MotoA_Pin); GPIO_ResetBits(Motor_Port, Right_MotoB_Pin);GPIO_SetBits(Motor_Port, Right_MotoA1_Pin); GPIO_ResetBits(Motor_Port, Right_MotoB1_Pin);}//��ת
#define RightMotor_Back() {GPIO_ResetBits(Motor_Port, Right_MotoA_Pin); GPIO_SetBits(Motor_Port, Right_MotoB_Pin);GPIO_ResetBits(Motor_Port, Right_MotoA1_Pin); GPIO_SetBits(Motor_Port, Right_MotoB1_Pin);}//��ת
#define RightMotor_Stop() {GPIO_ResetBits(Motor_Port, Right_MotoA_Pin); GPIO_ResetBits(Motor_Port, Right_MotoB_Pin);GPIO_ResetBits(Motor_Port, Right_MotoA1_Pin); GPIO_ResetBits(Motor_Port, Right_MotoB1_Pin);}//ֹͣ
#define LeftMotorPWM(Speed) TIM_SetCompare2(TIM4, Speed); //��ǰ
#define RightMotorPWM(Speed) TIM_SetCompare1(TIM4, Speed); //��ǰ
#define Left1MotorPWM(Speed) TIM_SetCompare3(TIM4, Speed); //����
#define Right1MotorPWM(Speed) TIM_SetCompare4(TIM4, Speed); //�Һ�
/**
* Function Car_Run
* @author liusen
* @date 2017.07.17
* @brief С��ǰ��
* @param[in] Speed ��0~7200�� �ٶȷ�Χ
* @param[out] void
* @retval void
* @par History ��
*/
void Car_Run(int Speed)
{
LeftMotor_Go();
RightMotor_Go();
LeftMotorPWM(Speed);
RightMotorPWM(Speed);
Left1MotorPWM(Speed);
Right1MotorPWM(Speed);
}
/**
* Function Car_Back
* @author liusen
* @date 2017.07.17
* @brief ������
* @param[in] Speed ��0~7200�� �ٶȷ�Χ
* @param[out] void
* @retval void
* @par History ��
*/
void Car_Back(int Speed)
{
LeftMotor_Back();
RightMotor_Back();
LeftMotorPWM(Speed);
RightMotorPWM(Speed);
Left1MotorPWM(Speed);
Right1MotorPWM(Speed);
}
/**
* Function Car_Left
* @author liusen
* @date 2017.07.17
* @brief С����ת
* @param[in] Speed ��0~7200�� �ٶȷ�Χ
* @param[out] void
* @retval void
* @par History ��
*/
void Car_Left(int Speed)
{
LeftMotor_Stop();
RightMotor_Go();
LeftMotorPWM(0);
RightMotorPWM(Speed);
Left1MotorPWM(0);
Right1MotorPWM(Speed);
}
/**
* Function Car_Right
* @author liusen
* @date 2017.07.17
* @brief С����ת
* @param[in] Speed ��0~7200�� �ٶȷ�Χ
* @param[out] void
* @retval void
* @par History ��
*/
void Car_Right(int Speed)
{
LeftMotor_Go();
RightMotor_Stop();
LeftMotorPWM(Speed);
RightMotorPWM(0);
Left1MotorPWM(Speed);
Right1MotorPWM(0);
}
/**
* Function Car_Stop
* @author liusen
* @date 2017.07.17
* @brief С��ɲ��
* @param[in] void
* @param[out] void
* @retval void
* @par History ��
*/
void Car_Stop(void)
{
LeftMotor_Stop();
RightMotor_Stop();
LeftMotorPWM(0);
RightMotorPWM(0);
Left1MotorPWM(0);
Right1MotorPWM(0);
}
void Car_Back_Left(int Speed)
{
LeftMotor_Stop();
RightMotor_Back();
LeftMotorPWM(0);
RightMotorPWM(Speed);
Left1MotorPWM(0);
Right1MotorPWM(Speed);
}
void Car_Back_Right(int Speed)
{
LeftMotor_Back();
RightMotor_Stop();
LeftMotorPWM(Speed);
RightMotorPWM(0);
Left1MotorPWM(Speed);
Right1MotorPWM(0);
}
/**
* Function Car_SpinLeft
* @author liusen
* @date 2017.07.17
* @brief ������
* @param[in] LeftSpeed���������ٶ� RightSpeed���ҵ����ٶ� ȡֵ��Χ����0~7200��
* @param[out] void
* @retval void
* @par History ��
*/
void Car_SpinLeft(int LeftSpeed, int RightSpeed)
{
LeftMotor_Back();
RightMotor_Go();
LeftMotorPWM(LeftSpeed);
RightMotorPWM(RightSpeed);
Left1MotorPWM(LeftSpeed);
Right1MotorPWM(RightSpeed);
}
/**
* Function Car_SpinRight
* @author liusen
* @date 2017.07.17
* @brief ������
* @param[in] LeftSpeed���������ٶ� RightSpeed���ҵ����ٶ� ȡֵ��Χ����0~7200��
* @param[out] void
* @retval void
* @par History ��
*/
void Car_SpinRight(int LeftSpeed, int RightSpeed)
{
LeftMotor_Go();
RightMotor_Back();
Left1MotorPWM(LeftSpeed);
Right1MotorPWM(RightSpeed);
LeftMotorPWM(LeftSpeed);
RightMotorPWM(RightSpeed);
}
ȫ������51hei���ص�ַ��
c8t6������.7z
(321.49 KB, ���ش���: 267)
|