This commit is contained in:
2025-07-08 23:30:16 +08:00
parent a635b6d5eb
commit a9884051f8
21 changed files with 7673 additions and 7958 deletions

View File

@@ -64,23 +64,68 @@ void MotorB_Speed(uint8_t speed)
// ʾ<><CABE> ͬʱ<CDAC><CAB1><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>A/B
// <20><>ʾ <20><><EFBFBD><EFBFBD> Dir 0 ---- ǰ<><C7B0> go forward
// <20><><EFBFBD><EFBFBD> Dir 1 ---- <20><><EFBFBD><EFBFBD> go forward
void DriveBOTH(int16_t speedA,int16_t speedB)
//void DriveBOTH(int16_t speedA,int16_t speedB)
//{
// // <20><><EFBFBD><EFBFBD> A
// if (speedA >= 0) MotorA_Dir(0);
// else
// {
// MotorA_Dir(1);
// speedA = -speedA;
// }
// MotorA_Speed(speedA);
//
// // <20><><EFBFBD><EFBFBD> B
// if (speedB >= 0) MotorB_Dir(0);
// else
// {
// MotorB_Dir(1);
// speedB = -speedB;
// }
// MotorB_Speed(speedB);
//}
// Motor.c <20><><EFBFBD>Ͻ<EFBFBD><CFBD>д<EFBFBD><D0B4><EFBFBD>
void DriveBOTH(int16_t speedA, int16_t speedB)
{
// <20><><EFBFBD><EFBFBD> A
if (speedA >= 0) MotorA_Dir(0);
else
{
MotorA_Dir(1);
speedA = -speedA;
}
MotorA_Speed(speedA);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A
if(speedA == 0) {
// <20>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>͵<EFBFBD>ƽ
HAL_GPIO_WritePin(AIN1_GPIO_Port, AIN1_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(AIN2_GPIO_Port, AIN2_Pin, GPIO_PIN_RESET);
}
else if(speedA > 0) {
HAL_GPIO_WritePin(AIN1_GPIO_Port, AIN1_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(AIN2_GPIO_Port, AIN2_Pin, GPIO_PIN_RESET);
speedA = abs(speedA); // ȡ<><C8A1><EFBFBD><EFBFBD>ֵ
}
else {
HAL_GPIO_WritePin(AIN1_GPIO_Port, AIN1_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(AIN2_GPIO_Port, AIN2_Pin, GPIO_PIN_SET);
speedA = abs(speedA); // ȡ<><C8A1><EFBFBD><EFBFBD>ֵ
}
// <20><><EFBFBD><EFBFBD> B
if (speedB >= 0) MotorA_Dir(0);
else
{
MotorB_Dir(1);
speedB = -speedB;
}
MotorB_Speed(speedB);
}
if(speedB == 0) {
// <20>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>͵<EFBFBD>ƽ
HAL_GPIO_WritePin(BIN1_GPIO_Port, BIN1_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(BIN2_GPIO_Port, BIN2_Pin, GPIO_PIN_RESET);
}
else if(speedB > 0) {
HAL_GPIO_WritePin(BIN1_GPIO_Port, BIN1_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(BIN2_GPIO_Port, BIN2_Pin, GPIO_PIN_RESET);
speedB = abs(speedB); // ȡ<><C8A1><EFBFBD><EFBFBD>ֵ
}
else {
HAL_GPIO_WritePin(BIN1_GPIO_Port, BIN1_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(BIN2_GPIO_Port, BIN2_Pin, GPIO_PIN_SET);
speedB = abs(speedB); // ȡ<><C8A1><EFBFBD><EFBFBD>ֵ
}
// ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B...
// <20><><EFBFBD><EFBFBD>PWM
__HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_4, speedA);
__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_4, speedB);
}