📄 spi.c
字号:
#include "SEED-DEC2407.h"
#include "SPI.h"
#define Spi_Int 1
unsigned int j,spi_data[100];
void main()
{
unsigned int i;
i = 0;
j = 0;
DINT;
SystemInit();
SpiInit();
#if Spi_Int
*IFR = 0x3f;
*IMR = 0x01;
EINT;
#endif
for(;;)
{
if(SpiTxReady() == TRUE)
{
*SPITXBUF = 0x55+j;
for(i=0; i<0x1fff;i++);
}
#if !Spi_Int
if(SpiRxReady() == TRUE)
{
spi_data[j] = *SPIRXBUF;
j++;
if(j == 100)
{
j = 0;
}
}
#endif
}
}
void SystemInit(void)
{
WSGR = 0;
*WDCR = 0x68;
*SCSR1 = 0x220;
}
void SpiInit(void)
{
*MCRB = 0x3c;
*SPICCR = 0x0f;
*SPICTL = 0x07;
*SPIBRR = 0x7f;
*SPIPRI = 0x10;
*SPICCR = 0x8f;
}
unsigned int SpiTxReady(void)
{
if((*SPISTS & 0x20) == 0x20)
{
return(FALSE);
}
else
{
return(TRUE);
}
}
unsigned int SpiRxReady(void)
{
if((*SPISTS & 0x40) == 0x40)
{
return(TRUE);
}
else
{
return(FALSE);
}
}
interrupt void PHANTOM(void)
{
}
interrupt void c_int1(void)
{
unsigned int k;
if((*PIVR & 0x05) == 0x05)
{
spi_data[j] = *SPIRXBUF;
j++;
if(j == 100)
{
j = 0;
}
}
*IFR = 0x01;
EINT;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -