/**
  ******************************************************************************
  * @file    py32f0xx_it.c
  * @author  MCU Application Team
  * @brief   Interrupt Service Routines.
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) Puya Semiconductor Co.
  * All rights reserved.</center></h2>
  *
  * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * This software component is licensed by ST under BSD 3-Clause license,
  * the "License"; You may not use this file except in compliance with the
  * License. You may obtain a copy of the License at:
  *                        opensource.org/licenses/BSD-3-Clause
  *
  ******************************************************************************
  */

/* Includes ------------------------------------------------------------------*/
#include "all.h"
#include "py32f0xx_it.h"

/* Private includes ----------------------------------------------------------*/

/* Private typedef -----------------------------------------------------------*/

/* Private define ------------------------------------------------------------*/

/* Private macro -------------------------------------------------------------*/

/* Private variables ---------------------------------------------------------*/

/* Private function prototypes -----------------------------------------------*/

/* Private user code ---------------------------------------------------------*/

/* External variables --------------------------------------------------------*/

/******************************************************************************/
/*           Cortex-M0+ Processor Interruption and Exception Handlers         */
/******************************************************************************/
/**
  * @brief This function handles Non maskable interrupt.
  */
void NMI_Handler(void)
{
}

/**
  * @brief This function handles Hard fault interrupt.
  */
void HardFault_Handler(void)
{
  while (1)
  {
  }
}

/**
  * @brief This function handles System service call via SWI instruction.
  */
void SVC_Handler(void)
{
}

/**
  * @brief This function handles Pendable request for system service.
  */
void PendSV_Handler(void)
{
}

/**
  * @brief This function handles System tick timer.
  */
void SysTick_Handler(void)
{
RF_TIM_10ms_CB();
////BSP_LED_Toggle(LED3);
}

/******************************************************************************/
/* PY32F0xx Peripheral Interrupt Handlers                                     */
/* Add here the Interrupt Handlers for the used peripherals.                  */
/* For the available peripheral interrupt handler names,                      */
/* please refer to the startup file (startup_py32f003xx.s).                   */
/******************************************************************************/

void USART1_IRQHandler(void)
{
  APP_UsartIRQCallback(USART1);
}

void TIM1_BRK_UP_TRG_COM_IRQHandler(void)
{
  if((LL_TIM_ReadReg(TIM1,SR) & LL_TIM_SR_UIF) == 1 && LL_TIM_IsEnabledIT_UPDATE(TIM1))
  {
    LL_TIM_ClearFlag_UPDATE(TIM1);
    
    APP_UpdateCallback();
  }
}

void EXTI0_1_IRQHandler(void)
{
  /* 处理EXTI中断请求 */
if(LL_EXTI_IsActiveFlag(LL_EXTI_LINE_1))
  {
  LL_EXTI_ClearFlag(LL_EXTI_LINE_1);
  
  REC_RF_us_INT();//中断里对脉冲宽度进行检测
  }
}
void EXTI4_15_IRQHandler(void)
{
  /* 处理EXTI中断请求 */
if(LL_EXTI_IsActiveFlag(LL_EXTI_LINE_4))//低功耗脚唤醒
  {
  LL_EXTI_ClearFlag(LL_EXTI_LINE_4);
  SYS.wake_src|=2;
  }

if(LL_EXTI_IsActiveFlag(LL_EXTI_LINE_6))//RFINT
  {
  LL_EXTI_ClearFlag(LL_EXTI_LINE_6);
  //LL_GPIO_TogglePin(GPIOA, LL_GPIO_PIN_5);//BSP_LED_Toggle(LED3);
  
  }
}

void LPTIM1_IRQHandler(void)
{
  if(LL_LPTIM_IsActiveFlag_ARRM(LPTIM) == 1)
  {
    LL_LPTIM_ClearFLAG_ARRM(LPTIM);
    SYS.wake_src|=4;
    APP_LPTIMCallback();
  }
}


/************************ (C) COPYRIGHT Puya *****END OF FILE****/
