zhyinch
2021-08-17 e3ee8cf2d6cc69083b16cce5ea1032eff57ee31c
源码/核心板/Src/application/beep_logic_app.c
@@ -13,9 +13,9 @@
#define ONTIME3 5   // 500ms
#define OFFTIME3 5  // 500ms
uint16_t min_dist;
uint16_t min_dist1,min_dist2;
extern u16 JDQ_time;
void Relay1Task(void)
void Relay1Task(u16 min_dist)
{
    static u8 distoffset1=0,distoffset2=0;
    static uint8_t beep_state,timer_state,beep_timer,beep_ontime,beep_offtime;
@@ -66,11 +66,11 @@
                    }
                }
}
void Relay2Task(void)
void Relay2Task(u16 min_dist)
{
    static u8 distoffset12=0,distoffset22=0;
    static uint8_t beep_state2,timer_state2,beep_timer2,beep_ontime2,beep_offtime2;
         if (min_dist <= g_com_map[ALARM_DISTANCE2]+distoffset12)
         if (min_dist <= g_com_map[RELAY2_DISTANCE2]+distoffset12)
                {
                    beep_ontime2 = JDQ_time;
                    beep_offtime2 = JDQ_time;
@@ -78,7 +78,7 @@
                    distoffset12=0;
                    distoffset22=0;
                }
         else if (min_dist <= g_com_map[ALARM_DISTANCE3]+distoffset22)
         else if (min_dist <= g_com_map[RELAY2_DISTANCE3]+distoffset22)
                {
                    beep_ontime2 = JDQ_time;
                    beep_offtime2 = JDQ_time;
@@ -127,17 +127,22 @@
            if(beep_judge_cnt++ >= 100)
            {   
                beep_judge_cnt = 0;
                min_dist=0xffff;
                min_dist1=0xffff;
                min_dist2=0xffff;
                for(i = 0; i < 255;i++)
                {
                    if(g_Tagdist[i] < min_dist&&g_Tagdist[i]>g_com_map[ALARM_DISTANCE1])
                    if(g_Tagdist[i] < min_dist1&&g_Tagdist[i]>g_com_map[ALARM_DISTANCE1])
                    {
                        min_dist=g_Tagdist[i];
                        min_dist1=g_Tagdist[i];
                    }
                    if(g_Tagdist[i] < min_dist2&&g_Tagdist[i]>g_com_map[RELAY2_DISTANCE1])
                    {
                        min_dist2=g_Tagdist[i];
                    }
                   
                }
                Relay1Task();
                Relay2Task();
                Relay1Task(min_dist1);
                Relay2Task(min_dist2);
         
            }
    }else{