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

📄 spi_test.c

📁 使用spi fifo中断进行接受和cputimer中断里进行发送
💻 C
字号:
#include "DSP28_Device.h"
unsigned int Spi_VarRx[100];
unsigned int i,j;
unsigned int jjj;

interrupt void ISRTimer0(void);
//interrupt void ISRSciaTx(void);
//interrupt void ISRSciaRx(void);

void main(void)
{
	/*初始化系统*/
	InitSysCtrl();
	/* 关中断 */
	DINT;
	IER = 0x0000;
	IFR = 0x0000;
	/* 初始化PIE控制寄存器 */
	InitPieCtrl();
	/* 初始化PIE参数表 */
	InitPieVectTable();	
	/* 初始化外设寄存器 */
	InitPeripherals();
    InitSpi();
	for(i = 0; i < 100; i++)
	{
	Spi_VarRx[i] = 0;
	}
	i = 0;
	j = 0;
    InitCpuTimers();
	EALLOW;	// This is needed to write to EALLOW protected registers
	PieVectTable.TINT0 = &ISRTimer0;
	EDIS;   // This is needed to disable write to EALLOW protected registers
	
	ConfigCpuTimer(&CpuTimer0, 150, 400);  //400是400微秒,150是150个周期
	// int1.7  timer0  / int1.6 adc /  int1.4  XINT1  / int9.1  sci-a / int9.3  sci-b;在书上45页可见
	PieCtrl.PIEIER1.all=0x40;    //0100 0000   timer0
	/* 设置IER寄存器 */
//	IER |= M_INT6;//0x0020

	
	/* 开中断 */
	IER=0x0021;		//开SPI和CPUTIMER中断
	EINT;   		// Enable Global interrupt INTM
	ERTM;			// Enable Global realtime interrupt DBGM
	CpuTimer0Regs.TCR.bit.TSS = 0;  //TSS=0启动CPUTIMER定时器,TSS=1关闭CPUTIMER定时器
	jjj=0;
	for(;;){}

}
	
interrupt void ISRTimer0(void)
{
	if(Spi_TxReady() == 1)
	{
		SpiaRegs.SPITXBUF = i;
			i++;
			if(i == 100)
			{
				i = 0;
			}
		}
	if(SpiaRegs.SPIFFRX.bit.RXFFINT==1)
	{
		for(i=0;i<100;i++)
		Spi_VarRx[i]=SpiaRegs.SPIRXBUF;
	}
  PieCtrl.PIEACK.all = 1;			//enalbe next interrupt
}

/*
interrupt void ISRSciaTx(void)
{
	PieCtrl.PIEACK.bit.ACK6 = 1;	
	EINT;
}

interrupt void ISRSciaRx(void)
{
	PieCtrl.PIEACK.bit.ACK6 = 1;
	if(Spi_RxReady() == 1)
	{
		Spi_VarRx[j] = SpiaRegs.SPIRXBUF;
		j++;
		if(j == 100)
		{
			j = 0;
		}
	}
	EINT;
}
*/
//===========================================================================
// No more.
//===========================================================================

⌨️ 快捷键说明

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