zhyinch
2022-04-26 95f736655c46ec4974e89c7f0ca6a542cdbf3532
源码/核心板/Src/stm32f10x_it.c
@@ -33,41 +33,74 @@
volatile uint32_t time32_incr;
uint8_t tt=0;
uint8_t g_start_send_flag = 0,sync_seq=0,usart_send_flag;
u16 usart_timer=0;
u16 usart_timer=0,pollsendtimer=0;
uint16_t sysscal;
u16 tag_recv_timer, tag_timer,last_polltime;
u16 tag_recv_timer, tag_timer,last_polltime,userdata_timer;
extern uint16_t g_Resttimer,heartbeat_timer,sync_timer;
extern uint8_t g_pairstart,getrange_success;
u8 neartimout_timer=0,flag_syncbase=0,flag_newsecond=0;
extern u16 tyncpoll_time,target_time;
extern uint32_t synclost_timer,current_syncid;
uint8_t juststart_timer=2,justselftest_timer=2,selftesttimer,rflosttimer;
extern u8 juststart_flag,justsleftest_flag,rf_flag;
void TIM3_IRQHandler(void)   //TIM3??
{
   if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)  //??TIM3????????
      {
      TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //??TIMx?????? 
   main_logic();
   main_logic();
    userdata_timer++;
   time32_incr++;
   heartbeat_timer++;
   sync_timer++;   
   neartimout_timer++;
   synclost_timer++;
   synclost_timer++;
 if(g_com_map[DEV_ROLE]||g_com_map[ANC_POLL])
  {
    if(pollsendtimer++>=g_com_map[COM_INTERVAL])
    {
        pollsendtimer = 0;
        g_start_send_flag = 1;
    }
}
   //GPIO_WriteBit(GPIOA, GPIO_Pin_10, Bit_RESET);         
   if(sync_timer>=1000)
      {
         if(getrange_success==0)
         {
            NVIC_SystemReset();
         }
//         if(getrange_success==0)
//         {
//            NVIC_SystemReset();
//         }
         flag_newsecond=1;
      //GPIO_WriteBit(GPIOA, GPIO_Pin_10, Bit_SET);   
         sync_timer=0;
          if(juststart_timer>0)
               {
                   juststart_timer--;
                 juststart_flag = 1;
               }else{
                 juststart_flag = 0;
               }
               if(justselftest_timer>0)
               {
                   justselftest_timer--;
                  justsleftest_flag = 1;
               }else{
                  justsleftest_flag = 0;
               }
                   if(rflosttimer>10)
                    {
                        rf_flag = 1;
                    }else{
                         rflosttimer++;
                       rf_flag = 0;
                    }
            selftesttimer++;
        TagListUpdate();
      }
      
   if(g_Resttimer++>2000)
   if(g_Resttimer++>10000)
   {
      NVIC_SystemReset();
      //NVIC_SystemReset();
   }
@@ -81,7 +114,7 @@
      {
         if(sync_timer==target_time)
         {
         g_start_send_flag=1;
      //   g_start_send_flag=1;
         }
      }
      
@@ -116,7 +149,7 @@
         last_polltime=sync_timer;
      //   GPIO_WriteBit(GPIOA, GPIO_Pin_9, Bit_SET);
      g_start_send_flag=1;
//      g_start_send_flag=1;
      }
      
   }
@@ -160,4 +193,12 @@
//  }    
}
void HardFalut_Handler(void)
{
   while(1)
   {
      NVIC_SystemReset();
   }
}