/**************************** (C) COPYRIGHT 2018 Fortiortech shenzhen *****************************
* File Name          : Interrupt.c
* Author             : Cooper Fang, Fortiortech Appliction Team
* Version            : V1.0
* Date               : 2018-09-25
* Description        : This file contains the configuration of ISR.
***************************************************************************************************
* All Rights Reserved
**************************************************************************************************/

/* Includes -------------------------------------------------------------------------------------*/
#include <FU68xx_2.h>
#include <Myproject.h>

#if (TIM2MODE == TIM2IN)                                                                            // 选择输入模式时，编译输入模式下的Timer2中断

void TIM2_IN_INT(void) interrupt 4
{
	if(ReadBit(TIM2_CR1, T2IP))																		//周期检测标志位为1时，读取周期时间/高电平时间
	{
			PWMIN.PWMINHigh   = TIM2__DR;															    // PWM高电平时间
		PWMIN.PWMINPeriod = TIM2__ARR;																// PWM周期时间

			ClrBit(TIM2_CR1, T2IP);                                                                     // 清除周期检测标志位
	}
	
	if(ReadBit(TIM2_CR1, T2IF))                                                                     // 计数器上溢标志位为1时，清除各个相关变量
	{
		 PWMIN.PWMINHigh   = 0;                                                                      // 清除高电平时间
		 PWMIN.PWMINPeriod = 0;                                                                      // 清除周期时间
			
		 TIM2__CNTR = 0;																				// 清零TIM2__CNTR
		 TIM2__DR   = 0;																				// 清零TIM2__DR
		 TIM2__ARR  = 0;																				// 清零TIM2__ARR
				
		 ClrBit(TIM2_CR1, T2IF);
	}
}

#elif (TIM2MODE == TIM2OUT)                                                                         // 选择输出模式时，编译输出模式下的Timer2中断

void TIM2_OUT_INT(void) interrupt 4
{
  if(ReadBit(TIM2_CR1, T2IF))                                                                     // 上溢中断标志位置1时，即一个PWM周期翻转一次IO口
	{		
		GP05 = ~GP05;                                                                               // 翻转GP05 IO口,LED灯闪烁
		ClrBit(TIM2_CR1, T2IF);                                                                     // 清除上溢中断标志位
	}
}

#endif







