⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 k60-keil

📁 K60-Keil版本(下载安装MDK4.23)
💻
字号:
/*============================================================================
文件名称:PIT.c
功能概要:K60 PIT
版权所有:卿丞数码
============================================================================*/
#include <MK60N512MD100.h>              // MK60N512MD100 Definitions        
#include "PIT.h"               			//包含PIT驱动程序头文件
#include "Serial.h"   

/*============================================================================
函数名称:PIT_Init
函数返回:无
参数说明:PIT_Channel:0-3 Period:计算公式 定时时间=Period*1/外设时钟频率                        
功能概要:初始化PIT模块。
=============================================================================*/
void PIT_Init(IRQn_Type PIT_Channel,uint32_t Period) //外设时钟为系统时钟一半即50M (定时时间= Period*1/50us ) 
{
	SIM->SCGC6 |=  SIM_SCGC6_PIT_MASK; //PIT Clock enable 
	PIT->MCR   &=~ PIT_MCR_MDIS_MASK ;//Clock for PIT Timers is enabled Timers continue to run in debug mode
	switch(PIT_Channel)
	{
		case PIT0_IRQn:
		{			
			PIT->CHANNEL[0].LDVAL = Period-1;
			PIT->CHANNEL[0].TCTRL = PIT_TCTRL_TIE_MASK |PIT_TCTRL_TEN_MASK; 
			NVIC_EnableIRQ(PIT0_IRQn);   
		}break;
		case PIT1_IRQn:
		{
			PIT->CHANNEL[1].LDVAL = Period-1;
			PIT->CHANNEL[1].TCTRL = PIT_TCTRL_TIE_MASK |PIT_TCTRL_TEN_MASK; 
			NVIC_EnableIRQ(PIT1_IRQn);   
		}break;
		case PIT2_IRQn:
		{
			PIT->CHANNEL[2].LDVAL = Period-1;
			PIT->CHANNEL[2].TCTRL = PIT_TCTRL_TIE_MASK |PIT_TCTRL_TEN_MASK; 
			NVIC_EnableIRQ(PIT2_IRQn);   
		}break;
		case PIT3_IRQn:
		{ 
			PIT->CHANNEL[3].LDVAL = Period-1;
			PIT->CHANNEL[3].TCTRL = PIT_TCTRL_TIE_MASK |PIT_TCTRL_TEN_MASK; 
			NVIC_EnableIRQ(PIT3_IRQn);   
		}break;
	}
	
}
///*============================================================================
//函数名称:PIT0_IRQHandler
//函数返回:无
//参数说明:                      
//功能概要:PIT0中断
//=============================================================================*/																	 
//void PIT0_IRQHandler(void)
//{
//	if((PIT->CHANNEL[0].TFLG&PIT_TFLG_TIF_MASK)!=0)
//	{
//		PIT->CHANNEL[0].TFLG |= PIT_TFLG_TIF_MASK ;//	Clear Timer Interrupt Flag
////		Ser_PutChar(UART3,'0');
//	}
//	
//} 
/*============================================================================
函数名称:PIT1_IRQHandler
函数返回:无
参数说明:                      
功能概要:PIT1中断
=============================================================================*/	
//void PIT1_IRQHandler(void)
//{
//	if((PIT->CHANNEL[1].TFLG&PIT_TFLG_TIF_MASK)!=0)
//	{
//		PIT->CHANNEL[1].TFLG |= PIT_TFLG_TIF_MASK ;	 //	Clear Timer Interrupt Flag
//		//再次写中断代码
////		Ser_PutChar(UART3,'1');
//
//	}
//}
/*============================================================================
函数名称:PIT2_IRQHandler
函数返回:无
参数说明:                      
功能概要:PIT2中断
=============================================================================*/	
void PIT2_IRQHandler(void)
{
	if((PIT->CHANNEL[2].TFLG&PIT_TFLG_TIF_MASK)!=0)
	{
		PIT->CHANNEL[2].TFLG |= PIT_TFLG_TIF_MASK ;//	Clear Timer Interrupt Flag
		//再次写中断代码
//		Ser_PutChar(UART3,'2');
	}
	
} 
/*============================================================================
函数名称:PIT3_IRQHandler
函数返回:无
参数说明:                      
功能概要:PIT3中断
=============================================================================*/	
void PIT3_IRQHandler(void)
{
	if((PIT->CHANNEL[3].TFLG&PIT_TFLG_TIF_MASK)!=0)
	{
		PIT->CHANNEL[3].TFLG |= PIT_TFLG_TIF_MASK ;	 //	Clear Timer Interrupt Flag
//		Ser_PutChar(UART3,'3');
	}
}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -