zhyinch
2021-10-28 942d685e55e3a58b6bcd7d0158765e9648b9373a
源码/核心板/Src/stm32f10x_it.c
@@ -32,8 +32,8 @@
/* Tick timer count. */
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;
uint8_t g_start_send_flag = 0,sync_seq=0,usart_send_flag,waitsync_flag=0;
u16 usart_timer=0,synclost_count=0;
uint16_t sysscal;
u16 tag_recv_timer, tag_timer,last_polltime;
extern uint16_t g_Resttimer,heartbeat_timer,sync_timer;
@@ -46,74 +46,81 @@
   if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)  //??TIM3????????
      {
      TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //??TIMx?????? 
   main_logic();
   time32_incr++;
   heartbeat_timer++;
//   main_logic();
//   time32_incr++;
//   heartbeat_timer++;
   sync_timer++;   
   neartimout_timer++;
   synclost_timer++;
   //GPIO_WriteBit(GPIOA, GPIO_Pin_10, Bit_RESET);
//   neartimout_timer++;
//   synclost_timer++;
//   GPIO_WriteBit(GPIOA, GPIO_Pin_8, Bit_RESET);
         GPIOA->BRR = GPIO_Pin_8;
if(sync_timer==10)
{
GPIOA->BSRR = GPIO_Pin_8;
}
   if(sync_timer>=1000)
      {
         flag_newsecond=1;
      //GPIO_WriteBit(GPIOA, GPIO_Pin_10, Bit_SET);
         sync_timer=0;
        TagListUpdate();
      }
   if(g_Resttimer++>2000)
   {
//      NVIC_SystemReset();
   }
   if(!g_com_map[DEV_ROLE])  //鍩虹珯
   {
      tag_recv_timer++;
      TagDistClear();
   if(g_com_map[ANC_POLL])
      {
         if(sync_timer==target_time)
      {uint8_t i;
         heartbeat_timer++;
         for(i=0;i<MAX_REGTAGNUM;i++)
         {
         g_start_send_flag=1;
            if(regtag_map.remain_time[i]>0)
            {
               regtag_map.remain_time[i]--;
            }
         }
      }
      #ifdef USART_INTEGRATE_OUTPUT
      if(sync_timer==target_time)
      {
         usart_send_flag=1;
      }
      #endif
      if(sync_timer>500&&dev_id!=0)
      {
       sync_seq=0xff;
      }
      if(synclost_timer>SYNCLOST_TIME)
      {
         //flag_syncbase=1;
      }
         if(pwtag.remain_time>0)
         {pwtag.remain_time--;}
         flag_newsecond=1;
//      GPIO_WriteBit(GPIOA, GPIO_Pin_8, Bit_SET);
         sync_timer=0;
//         synclost_count++;
//        TagListUpdate();
//         if(g_com_map[BASESYNCSEQ]==1)  //鏈ā鍧楁槸鍚屾鍩虹珯
//         {
//            synclost_count = 0;
//            current_syncid = 1;
//            sync_seq=0;
//               SyncPoll(sync_seq);
//         }
//      }
//
//   if(g_Resttimer++>12000)
//   {
//      NVIC_SystemReset();
//   }
      if(flag_syncbase)  //鏈ā鍧楁槸鍚屾鍩虹珯
      {
      if(sync_timer==995)
      {
         current_syncid = g_com_map[DEV_ID];
         sync_seq=0;
            SyncPoll(sync_seq,current_syncid);
      }
   }
   }else{      //鏍囩鍚屾澶勭悊
      if(sync_timer==target_time)
      {
         last_polltime=sync_timer;
      //   GPIO_WriteBit(GPIOA, GPIO_Pin_9, Bit_SET);
      g_start_send_flag=1;
      }
//
//   if(!g_com_map[DEV_ROLE])  //鍩虹珯
//   {
//      tag_recv_timer++;
//      TagDistClear();
//   if(g_com_map[ANC_POLL])
//      {
//         if(sync_timer==target_time)
//         {
//         g_start_send_flag=1;
//         }
//      }
//
//      #ifdef USART_INTEGRATE_OUTPUT
//      if(sync_timer%g_com_map[COM_INTERVAL]==0)
//      {
//
//         usart_send_flag=1;
//      }
//      #endif
//   }else{      //鏍囩鍚屾澶勭悊
//      if(sync_timer==target_time)
//      {
//         last_polltime=sync_timer;
//      //   GPIO_WriteBit(GPIOA, GPIO_Pin_9, Bit_SET);
//      g_start_send_flag=1;
//      }
//
   }
      }
@@ -136,7 +143,21 @@
  }   
}
u8 needanchorrx=1;
u16 ttt = 0;
extern u32  status_reg;
void EXTI0_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line0)!= RESET)
  {
    EXTI_ClearITPendingBit(EXTI_Line0);
   //   GPIOA->BSRR = GPIO_Pin_8;
         //if(ttt==0)
    Anchor_App();
   //   GPIOA->BRR = GPIO_Pin_8;
  }
}
void USART1_IRQHandler(void)
{
  if(USART_GetITStatus(EXT_UART, USART_IT_RXNE) != RESET)//?????????