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

📄 pit.c

📁 冷火MCF52255开发板精华资料
💻 C
字号:
#include "PIT.h"


#define Engine1 MCF_GPIO_PORTUC_PORTUC2      //舵机
#define Engine1_1 MCF_GPIO_PORTUC|=Engine1
#define Engine1_0 MCF_GPIO_PORTUC&=~Engine1 

//uint con_PIT=0;
extern con_PIT;
void PIT0_init()
{

		
	MCF_PIT_PCSR(0)=MCF_PIT_PCSR_RLD
				   |MCF_PIT_PCSR_PIF
				   |MCF_PIT_PCSR_PIE
				   |MCF_PIT_PCSR_OVW
				   |MCF_PIT_PCSR_PRE(9);//fPIT=fsys/2/2^PER
				   						 //at 80MHz
												//0- 40000000Hz
												//1- 20000000Hz
												//2- 10000000Hz
												//3- 5000000Hz
												//4- 2500000Hz -0.4us
												//5- 1250000Hz
												//6- 625000Hz
												//7- 312500Hz
												//8- 156250Hz
												//9- 78125Hz   -12.8us
												//10-39062.5Hz
												//11-19531.25Hz
												//12-9765.625Hz
												//13-4882.8125Hz
												//14-2441.40625Hz
												//15-1220.703125Hz
				   //|MCF_PIT_PCSR_DBG; 
				   //|MCF_PIT_PCSR_DOZE
				   
	MCF_PIT_PMR(0)=78125;



	MCF_INTC0_IMRL&=~MCF_INTC_IMRL_MASKALL;
	MCF_INTC0_IMRH&=~MCF_INTC_IMRH_INT_MASK55;//PIT0
	
	MCF_INTC0_ICR55=MCF_INTC_ICR_IP(6)+MCF_INTC_ICR_IL(2);//PIT0
	
	//MCF_PIT_PCSR(0)|=MCF_PIT_PCSR_EN;
}

void PIT0_start(uint x)
{
	MCF_PIT_PMR(0)=x;

	MCF_PIT_PCSR(0)|=MCF_PIT_PCSR_EN;
}

void PIT0_stop(void)
{

	MCF_PIT_PCSR(0)&=~MCF_PIT_PCSR_EN;
}

__declspec(interrupt:0) void PIT0_handler(void)//interrupt source 55
{
	MCF_PIT_PCSR(0)|=MCF_PIT_PCSR_PIF;//清除PIT标志位
	
	
	if(mod==1)                                  //舵机控制开关
  	{
      time++;
      if(time<ang[1])Engine1_1;
      else Engine1_0;      
      if(time>=2500)time=0;
  	} 
  	else con_PIT++;
	
}

⌨️ 快捷键说明

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