/********************************** (C) COPYRIGHT ******************************* * File Name : ch32v20x_it.c * Author : WCH * Version : V1.0.0 * Date : 2021/06/06 * Description : Main Interrupt Service Routines. ********************************************************************************* * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. * Attention: This software (modified or not) and binary are used for * microcontroller manufactured by Nanjing Qinheng Microelectronics. *******************************************************************************/ #include "ch32v20x_it.h" void NMI_Handler(void) __attribute__((interrupt("WCH-Interrupt-fast"))); void HardFault_Handler(void) __attribute__((interrupt("WCH-Interrupt-fast"))); void RTC_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast"))); /********************************************************************* * @fn NMI_Handler * * @brief This function handles NMI exception. * * @return none */ void NMI_Handler(void) { } /********************************************************************* * @fn HardFault_Handler * * @brief This function handles Hard Fault exception. * * @return none */ void HardFault_Handler(void) { while (1) { } } /********************************************************************* * @fn RTC_IRQHandler * * @brief This function handles RTC Handler. * * @return none */ void RTC_IRQHandler(void) { if (RTC_GetITStatus(RTC_IT_SEC) != RESET) /* Seconds interrupt */ { RTC_Get(); } if(RTC_GetITStatus(RTC_IT_ALR)!= RESET) /* Alarm clock interrupt */ { RTC_ClearITPendingBit(RTC_IT_ALR); RTC_Get(); } RTC_ClearITPendingBit(RTC_IT_SEC|RTC_IT_OW); RTC_WaitForLastTask(); }