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

📄 dps2812_eeprom.c

📁 合众达2812开发例程
💻 C
字号:
#include "DSP28_Device.h"
unsigned int Spi_VarTx[100];
unsigned int Spi_VarRx[100];
unsigned int i,j,i1;
//interrupt void ISRSciaTx(void);
//interrupt void ISRSciaRx(void);

void main(void)
{
	/*初始化系统*/
	InitSysCtrl();
	/* 关中断 */
	DINT;
	IER = 0x0000;
	IFR = 0x0000;
	/* 初始化PIE控制寄存器 */
	InitPieCtrl();
	/* 初始化PIE参数表 */
	InitPieVectTable();	
	/* 初始化外设寄存器 */
	InitPeripherals();
    	for(i = 0; i < 100; i++)
    	{
    		Spi_VarRx[i] = 0;
    		Spi_VarTx[i] = i+0x1234;
    		Spi_VarTx[i] = Spi_VarTx[i] << 8;
    	}
    	i = 0;
    	j = 0;
    	#if	Spi_Int
	EALLOW;	// This is needed to write to EALLOW protected registers
	PieVectTable.SPITXINTA = &SPITXINTA_ISR;
	PieVectTable.SPIRXINTA = &SPIRXINTA_ISR;
	EDIS;   // This is needed to disable write to EALLOW protected registers
	
	/* 设置IER寄存器 */
	IER |= M_INT6;
	#endif
	
	/* 开中断 */
	EINT;   // Enable Global interrupt INTM
	ERTM;	// Enable Global realtime interrupt DBGM
	EEPROM_Write_Enable();
    EEPROM_Read_Status();
    for(i1 = 0; i1 < 100; i1++)
    {
	//EEPROM写使能
    	EEPROM_Write_Enable();
    //
    	
    	while((EEPROM_Read_Status()&0x02) != 0x02);
    	//
    	EEPROM_Write(i1,i1);
    	//
    	while((EEPROM_Read_Status()&0x01) == 0x01);
    	//
    	
    	Spi_VarRx[i1] = EEPROM_Read(i1);
	}
    	
	for(;;)
	{

	}

} 	


/*
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 + -