www.pudn.com > TMS320F2812mcbsp.rar > MCBSP_TEST.c


 
#include "DSP28_Device.h" 
unsigned int McBSP_VarRx[100]; 
unsigned int i,j; 
unsigned int send_flag; 
 
void main(void) 
{ 
 
	/*初始化系统*/ 
	InitSysCtrl(); 
 
	/*关中断*/ 
	DINT; 
	IER = 0x0000; 
	IFR = 0x0000; 
 
	/*初始化PIE*/ 
	InitPieCtrl(); 
 
	/*初始化PIE矢量表*/ 
	InitPieVectTable();	 
	 
	/*初始化MCBSP外设*/ 
	InitMcbsp(); 
     
    for(i = 0; i < 100; i++) 
    { 
    	McBSP_VarRx[i] = 0; 
    } 
 
    // Enable global Interrupts and higher priority real-time debug events: 
	 
	EINT;   // Enable Global interrupt INTM 
	ERTM;	// Enable Global realtime interrupt DBGM 
	i = 0; 
	j = 0; 
	send_flag = 0; 
 
// Step 6. IDLE loop. Just sit and loop forever (optional):	 
	for(;;) 
	{ 
		if((Mcbsp_TxRdy() == 1) && (send_flag == 0)) 
		{ 
			McbspRegs.DXR1.all = 0x5555+i; 
//			McbspRegs.DXR2.all = 0; 
			i++; 
			send_flag = 1; 
			if(i == 100) 
			{ 
				i = 0; 
			} 
		} 
		 
		if(Mcbsp_RxRdy() == 1) 
		{ 
			McBSP_VarRx[j] = McbspRegs.DRR1.all; 
//			send_flag = McbspRegs.DRR2.all; 
			j++; 
			send_flag = 0; 
			if(j == 100) 
			{ 
				j = 0; 
			} 
		}	 
	} 
 
}