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

📄 ramtest.c

📁 该文件在ccs编译器下调试通过的2812 DSP mcsbp实验程序。
💻 C
字号:

#include "DSP28_Device.h"
#include "ext_inf.h"

const	Uint16	LedCode[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF};
unsigned  	int  *ExRamStart = (unsigned  int *)0x100000;
Uint16	LedCount;
Uint16	Led_Flag;

void	SendData(Uint16	 data);
interrupt void ISRTimer0(void);

void main(void)
{

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

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

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

	/*初始化PIE中断矢量表*/
	InitPieVectTable();	
	
	/*初始化外设*/
    InitPeripherals();
    
	EALLOW;	
	PieVectTable.TINT0 = &ISRTimer0;
	EDIS;   
    
	/*设置CPU*/
	ConfigCpuTimer(&CpuTimer0, 100, 100000);	
    
	*LedReg = 0xFF;
	*Led8Lock = 0x01;
	SendData(0xFF);

	for(i = 0; i < 0xFFFF; i++)
	{
		*(ExRamStart + i) = 0x5555;
		if(*(ExRamStart + i) != 0x5555)
		{
			while(1);
		}
	}
	
	for(i = 0; i < 0xFFFF; i++)
	{
		*(ExRamStart + i) = 0xAAAA;
		if(*(ExRamStart + i) != 0xAAAA)
		{
			while(1);
		}
	}

 	StartCpuTimer0();

    /*开中断*/
	IER |= M_INT1;
	PieCtrl.PIEIER1.bit.INTx7=1;
	

	EINT;   // Enable Global interrupt INTM
	ERTM;	// Enable Global realtime interrupt DBGM
	
	for(;;);

} 	


void	SendData(Uint16 data)
{
	Uint16	i,Temp;
	Temp = 0x80;
	for	(i=0;i<8;i++)
		{
			if ((data & Temp)==0)	ClrData;
			else	SetData;
			Temp >>= 1;
			ClrClk;
			SetClk;
		}
	*Led8Lock = 0x00;
	*Led8Lock = 0x01;
	SetData;		
}

interrupt void ISRTimer0(void)
{
	PieCtrl.PIEACK.bit.ACK1=1;
	*LedReg = LedCode[LedCount];
	LedCount++;
	if (LedCount>=8)	LedCount=0;
}

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

⌨️ 快捷键说明

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