zhyinch
2020-10-31 fc057b986700bbb5dd6bac94c40b4093f2751f7f
源码/核心板/Src/stm32f10x_it.c
@@ -28,30 +28,93 @@
#include "beep_logic_app.h"
#include "led.h"
#include "Usart.h"
#include "dw_app.h"
/* Tick timer count. */
volatile uint32_t time32_incr;
uint8_t tt=0;
uint8_t g_start_send_flag = 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;
extern uint16_t g_Resttimer;
u16 tag_recv_timer, tag_timer,last_polltime;
extern uint16_t g_Resttimer,heartbeat_timer,sync_timer;
extern uint8_t g_pairstart;
void SysTick_Handler(void)
{uint16_t i;
  time32_incr++;
   g_UWB_com_interval++;
   if(g_Resttimer++>10000)
u8 neartimout_timer=0,flag_syncbase=0,flag_newsecond=0;
extern u16 tyncpoll_time,target_time;
extern uint32_t synclost_timer,current_syncid;
void TIM3_IRQHandler(void)   //TIM3??
{
   if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)  //??TIM3????????
      {
      TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //??TIMx??????
   main_logic();
   time32_incr++;
   heartbeat_timer++;
   sync_timer++;
   neartimout_timer++;
   synclost_timer++;
   GPIO_WriteBit(GPIOA, GPIO_Pin_8, Bit_RESET);
   if(sync_timer>=1000)
      {
         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(g_UWB_com_interval > 1000)
//   {
//      dis_after_filter = DEFAULT_DISTANCE;
//   }
#ifdef WORK_MODE_ANCHOR
   TagDistClear();
   if(g_pairstart!=1)
      main_logic();
#endif
   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;
      }
   }
      }
}
void SysTick_Handler(void)
{
}
@@ -67,18 +130,6 @@
  }   
}
void RTCAlarm_IRQHandler(void)
{
   //      LED0_BLINK;
   RCC_Configuration();
   //   LED0_BLINK;
   EXTI_ClearITPendingBit(EXTI_Line17);
   RTC_ClearITPendingBit(RTC_FLAG_ALR);
   g_start_send_flag = 1;
   RTC_SET_ALARM(1);
   tt++;
  //SYS.wake_id|=1<<17;
}
void USART1_IRQHandler(void)
{
  if(USART_GetITStatus(EXT_UART, USART_IT_RXNE) != RESET)//?????????
@@ -86,15 +137,15 @@
       UART_CheckReceive();
  }
  /*************************************************************
  if(USART_GetITStatus(USARTy, USART_IT_TXE) != RESET)
  {
//  if(USART_GetITStatus(USARTy, USART_IT_TXE) != RESET)
        USART_SendData(USARTy, TxBuffer1[TxCounter1++]);
//  {
  }
/******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/
//        USART_SendData(USARTy, TxBuffer1[TxCounter1++]);
//  }
}