/**
  ******************************************************************************
  * @file     ms32f0xx_it.c
  * @author   SINOMCU-AE
  * @brief    Interrupt Service Routines.
  * 
  ******************************************************************************
  * @attention 
  *                           DISCLAIMER
  * The present firmware which is for guidance only aims at providing customers
  * with coding information regarding their products in order for them to save
  * time. As a result, SinoMCU shall not be held liable for any direct,indirect
  * or consequential damages with respect to any claims arising from the content 
  * of such firmware and/or the use made by customers of the coding information 
  * contained herein in connection with their products.
  *
  * <h2><center>&copy; Copyright (c) 2021 sinomcu All rights reserved.</center></h2>
  *
  ******************************************************************************
  */

#include "system_define.h"

//            Cortex-M0 Processor Exceptions Handlers                         

/**
  * @brief   This function handles NMI exception.
  * @param  None
  * @retval None
  */
// void NMI_Handler (void) {
    
// }

/**
  * @brief  This function handles Hard Fault exception.
  * @param  None
  * @retval None
  */
// void HardFault_Handler (void) {
//   /* Go to infinite loop when Hard Fault exception occurs */
//   while (1) {
//     ;
//   }
// }

/**
  * @brief  This function handles SVCall exception.
  * @param  None
  * @retval None
  */
// void SVC_Handler (void) {
    
// }

/**
  * @brief  This function handles PendSVC exception.
  * @param  None
  * @retval None
  */
// void PendSV_Handler (void) {
    
// }

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

//                 MS32F0xx Peripherals Interrupt Handlers  

/**
  * @brief This function handles RTC_IRQHandler.
  */
void RTC_IRQHandler(void) 
{
  if( MS32_RTC_IsActiveFlag_ALRA(RTC)) {
    MS32_RTC_ClearFlag_ALRA(RTC);
    RTC_Alarm_Callback();
  }
  // Clear the EXTI's Flag for RTC Alarm 
  MS32_EXTI_ClearFlag_0_31(MS32_EXTI_LINE_17); 
}

/**
  * @brief This function handles DMA1_Channel1.
  */
// void DMA1_Channel1_IRQHandler(void) {
    
// }

/**
  * @brief This function handles ADC1 comp.
  */  
// void ADC1_COMP_IRQHandler(void) {
    
// }

/**
  * @brief This function handles Timer1 BRK_UP_TRG_COM.
  */
// void TIM1_BRK_UP_TRG_COM_IRQHandler(void) {
    
// }

/**
  * @brief This function handles Timer1 CC.
  */
// void TIM1_CC_IRQHandler(void) {
    
// }

/**
  * @brief This function handles Timer2.
  */
// void TIM2_IRQHandler(void) {
    
// }

/**
  * @brief This function handles Timer3.
  */
// void TIM3_IRQHandler(void) {
  
// }

/**
  * @brief This function handles USART1.
  */
// void USART1_IRQHandler(void) {
    
// }

/**
  * @brief  This function handles PPP interrupt request.
  * @param  None
  * @retval None
  */
/*void PPP_IRQHandler (void) {

}*/

/******************************** END OF FILE *********************************/
