main.c

来自「F2812实现电机控制源程序.rar」· C语言 代码 · 共 89 行

C
89
字号
/*********************************************************************
**	Module Name:		Cputimer2				    				**
**	Author:				Cbq  			    						**
**	Version:			1.0			    							**
**	CreateDate:			2008-05-15		    						**
**	Description:		            			    				**
**	Remark:				Huozq		    							**
**	Revision History:	2008-11-10			    					**
**********************************************************************/

/*********************************************************************
**	实验目的:学习DSP内部定时器2的使用                               **
**	实验说明:这个实验的基本配置和CPUTimer0基本相同,不同的是使用非   **
**	         外围中断扩展PIE中断,它可以直接向CPU发起中断,具体可参   **
**           见课本P81                                              **
**	实验结果:每次定时时间到,二极管将进行全亮或则全灭一次           **
**********************************************************************/


#include "DSP28_Device.h"

unsigned int * Led8  = (unsigned int *) 0x4100;//二极管地址,由CPLD提供

unsigned int Led_Flag;			//二极管全亮,全灭标志位
interrupt void ISRTimer2(void);	//中断服务寄存器定时器2函数


void main(void)
{

	/*初始化系统*/
	InitSysCtrl();

	/*关中断*/
	DINT;
	IER = 0x0000;
	IFR = 0x0000;
	Led_Flag = 0;

	/*初始化PIE*/
	InitPieCtrl();

	/*初始化PIE中断矢量表*/
	InitPieVectTable();	
	
	/*初始化外设*/
    InitPeripherals();
    

	EALLOW;	
	PieVectTable.TINT2 = &ISRTimer2;
	EDIS;   
    
	/*设置CPU*/
	ConfigCpuTimer(&CpuTimer2, 50, 1000000);
	
	CpuTimer2Regs.TCR.bit.TSS = 0;	//启动定时器2
 	///StartCpuTimer2();

    /*开中断*/
	IER |= M_INT14;  //内部定时器在PIE分组中位于14

	EINT;   		// Enable Global interrupt INTM
	ERTM;			// Enable Global realtime interrupt DBGM

	for(;;);

} 	

interrupt void ISRTimer2(void)
{
	CpuTimer2.InterruptCount++;	//中断计数
	if(Led_Flag == 1)
	{
		*Led8 = 0x00;			//全亮
		Led_Flag = 0;
	}
	else
	{
		*Led8 = 0xff;			//全灭
		Led_Flag = 1;
	}
}


//===========================================================================
// No more.
//===========================================================================

⌨️ 快捷键说明

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