fix:修復幾個bug

This commit is contained in:
2024-07-05 21:29:03 +08:00
parent be37b5d206
commit 336d1bc100
4 changed files with 43 additions and 40 deletions

View File

@@ -23,7 +23,7 @@ void CheckBarrier()
void RunBarrier()
{
if (barrier_type == BARRIER_LEFT_BEGIN) {
if (barrier_type == BARRIER_LEFT_BEGIN||barrier_type == BARRIER_LEFT_RUNNING) {
track_type = TRACK_RIGHT;
// if (barrier_begin_flag == 0) {
// timer_clear(TIM_3);
@@ -54,20 +54,20 @@ void RunBarrier()
Lpt0_found_count = 0;
barrier_type = BARRIER_LEFT_RUNNING;
track_type = TRACK_RIGHT;
timer_clear(TIM_1);
timer_start(TIM_1);
timer_clear(TIM_2);
timer_start(TIM_2);
} else if (barrier_type == BARRIER_LEFT_RUNNING) {
track_type = TRACK_RIGHT;
if (timer_get(TIM_1) >= 220) {
if (timer_get(TIM_2) >= 500) {
barrier_type = BARRIER_NONE;
track_type = TRACK_RIGHT;
timer_stop(TIM_1);
timer_clear(TIM_1);
timer_stop(TIM_2);
timer_clear(TIM_2);
}
}
}
if (barrier_type == BARRIER_RIGHT_BEGIN) {
if (barrier_type == BARRIER_RIGHT_BEGIN||barrier_type == BARRIER_RIGHT_RUNNING) {
track_type = TRACK_LEFT;
// if (barrier_begin_flag == 0) {
// timer_clear(TIM_3);
@@ -98,13 +98,13 @@ void RunBarrier()
Lpt1_found_count = 0;
barrier_type = BARRIER_RIGHT_RUNNING;
track_type = TRACK_LEFT;
timer_clear(TIM_1);
timer_start(TIM_1);
timer_clear(TIM_2);
timer_start(TIM_2);
} else if (barrier_type == BARRIER_RIGHT_RUNNING) {
track_type = TRACK_LEFT;
if (timer_get(TIM_1) >= 220) {
timer_stop(TIM_1);
timer_clear(TIM_1);
if (timer_get(TIM_2) >= 500) {
timer_stop(TIM_2);
timer_clear(TIM_2);
barrier_type = BARRIER_NONE;
track_type = TRACK_LEFT;
}
@@ -150,21 +150,21 @@ void RunS()
}
void Check_shield(){
if (begin_flag == 1)
{
shield_type = SHIELD_BEGIN;
timer_clear(TIM_3);
timer_start(TIM_3);
begin_flag = 0;
}
if (timer_get(TIM_3) > 1000 && shield_type == SHIELD_BEGIN)
{
shield_type = SHIELD_NONE;
timer_stop(TIM_3);
timer_clear(TIM_3);
}
// void Check_shield(){
// if (begin_flag == 1)
// {
// shield_type = SHIELD_BEGIN;
// timer_clear(TIM_3);
// timer_start(TIM_3);
// begin_flag = 0;
// }
// if (timer_get(TIM_3) > 1000 && shield_type == SHIELD_BEGIN)
// {
// shield_type = SHIELD_NONE;
// timer_stop(TIM_3);
// timer_clear(TIM_3);
// }
}
// }