?? spi_test.c
字號:
#include "DSP28_Device.h"
unsigned int Spi_VarRx[100];
unsigned int i,j;
//interrupt void ISRSciaTx(void);
//interrupt void ISRSciaRx(void);
void main(void)
{
/*初始化系統*/
InitSysCtrl();
/* 關中斷 */
DINT;
IER = 0x0000;
IFR = 0x0000;
/* 初始化PIE控制寄存器 */
InitPieCtrl();
/* 初始化PIE參數表 */
InitPieVectTable();
/* 初始化外設寄存器 */
InitPeripherals();
// init_spi();
for(i = 0; i < 100; i++)
{
Spi_VarRx[i] = 0;
}
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
for(;;)
{
if(Spi_TxReady() == 1)
{
SpiaRegs.SPITXBUF = i;
i++;
if(i == 100)
{
i = 0;
}
}
#if !Spi_Int
if(Spi_RxReady() == 1)
{
Spi_VarRx[j] = SpiaRegs.SPIRXBUF;
j++;
if(j == 100)
{
j = 0;
}
}
#endif
}
}
/*
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 + -