📄 dps2812_eeprom.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 + -