cputimer2.c

来自「DSP2812_SourceCode DSP2812_SourceCode」· C语言 代码 · 共 55 行

C
55
字号

#include "DSP28_Device.h"

unsigned int *LedADDR  = (unsigned int *) 0x2002;  //发光二极管控制寄存器

interrupt void ISRTimer2(void);					//Timer2中断服务程序

unsigned int Flag;	

void main(void)
{
	InitSysCtrl();								//初始化系统

	DINT;										//关中断
	IER = 0x0000;
	IFR = 0x0000;
	Flag = 0;

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

	EALLOW;	
	PieVectTable.TINT2 = &ISRTimer2;
	EDIS;   
 
	ConfigCpuTimer(&CpuTimer2, 50, 1000000);	//设置CPU
 	StartCpuTimer2();

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

	EINT;   									// Enable INTM
	ERTM;										// Enable DBGM

	*LedADDR = 0xFF;								//熄灭所有8个灯
    while (1);

} 	

interrupt void ISRTimer2(void)
{
	CpuTimer2.InterruptCount++;
	if(Flag == 1)
	{
		*LedADDR = 0x55;
		Flag = 0;
	}
	else
	{
		*LedADDR = 0xAA;
		Flag = 1;
	}
}

⌨️ 快捷键说明

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