zhyinch
2020-04-16 a26a36940097da7c033be9199219374801d9b32c
源码/核心板/Src/stm32f10x_it.c
@@ -23,32 +23,85 @@
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x_it.h"
#include "stm32f10x.h"
#include "beep.h"
#include "dw_app.h"
#include "global_param.h"
#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,sync_seq=0,usart_send_flag;
u16 usart_timer=0;
uint16_t sysscal;
u16 tag_recv_timer, tag_timer;
extern uint16_t g_Resttimer,heartbeat_timer,sync_timer;
extern uint8_t g_pairstart;
u8 neartimout_timer=0;
extern u16 tyncpoll_time;
volatile uint32_t g_beep_on_time = 0;
volatile uint32_t g_beep_off_time = 0;
void TIM3_IRQHandler(void)   //TIM3??
{
   if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)  //??TIM3????????
      {
      TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //??TIMx??????
   time32_incr++;
   heartbeat_timer++;
   sync_timer++;
   neartimout_timer++;
   if(sync_timer>=1010)
      {sync_timer=0;}
   if(g_Resttimer++>2000)
   {
      //NVIC_SystemReset();
   }
   if(!g_com_map[DEV_ROLE])  //鍩虹珯
   {
      tag_recv_timer++;
      TagDistClear();
      if(g_com_map[ALARM_DEV]!=0)
         main_logic();
      #ifdef USART_INTEGRATE_OUTPUT
      if(usart_timer++>=g_com_map[COM_INTERVAL])
      {
         usart_timer=0;
         usart_send_flag=1;
      }
      #endif
      if(sync_timer>500&&dev_id!=0)
      {
       sync_seq=0xff;
      }
      if(sync_timer==0)
      {
         TagListUpdate();
         if(dev_id==0)
            SyncPoll(0);
      }
   }else{      //鏍囩鍚屾澶勭悊
      if((sync_timer-10)%g_com_map[COM_INTERVAL]==tyncpoll_time&&sync_timer>=10)
      {
         GPIO_WriteBit(GPIOA, GPIO_Pin_9, Bit_SET);
      g_start_send_flag=1;
      }
   }
      }
}
void SysTick_Handler(void)
{
   static uint32_t s_cycle_time = 0;
    time32_incr++;
   
//   if(s_cycle_time >= g_beep_off_time)
//   {
//      s_cycle_time = 0;
//   }
//   else if(s_cycle_time > g_beep_on_time && s_cycle_time < g_beep_off_time)
//   {
//      BEEP_OFF;
//   }
//   else if(s_cycle_time <= g_beep_on_time)
//   {
//      BEEP_ON;
//   }
   s_cycle_time++;
}
/** 
@@ -62,18 +115,23 @@
  }   
}
uint8_t tt=0;
uint8_t send_start=0;
void RTCAlarm_IRQHandler(void)
void USART1_IRQHandler(void)
{
   EXTI_ClearITPendingBit(EXTI_Line17);
   RTC_ClearITPendingBit(RTC_FLAG_ALR);
   send_start=1;
   RTC_SET_ALARM(1);
   tt++;
   //GPIO_Toggle(GPIOA,LED_PIN);
  //SYS.wake_id|=1<<17;
  if(USART_GetITStatus(EXT_UART, USART_IT_RXNE) != RESET)//?????????
  {
       UART_CheckReceive();
  }
//  if(USART_GetITStatus(USARTy, USART_IT_TXE) != RESET)
//  {
//        USART_SendData(USARTy, TxBuffer1[TxCounter1++]);
//  }
}
/******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/