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

📄 slave.c

📁 LPC2106的双机SPI通讯,带PROTEUS仿真.收发程序均有.
💻 C
字号:
#include <lpc210x.h>
#define LED 1<<9
#define uchar unsigned char
uchar wdat[10]={0,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99};
uchar rdat[10];
/*******************************************************************************
*名称: MSpiIni()
*功能: 初始化SPI接口,设置为主机		 
*******************************************************************************/
void SpiIni(void)
{	  
  S0SPCR =0x00;            //设置SPI接口模式,MSTR=1,CPOL=1,CPHA=0,LSBF=0
}
void delay(unsigned int n)
{while(n--);
}

uchar WRdata(uchar dat)
{
//	if(IOPIN&0x80==1)
    S0SPDR=dat;
 	while((S0SPSR&0x80)==0);                  //等待SPIF置位,即等待数据发送完毕   
	return S0SPDR;
}
void led(unsigned int p_n)//前提要配置好IODIR和PINSEL
{	unsigned int i,j; 
	while(1)
	{
	if(i%2==0)
	IOSET=p_n;
	else 
	IOCLR=p_n;
	j++;
	i=j%10;
	}
}
int main(void)
{ uchar i;
  PINSEL0=0x00005500;                 //设置SPI引脚连接	 
  PINSEL1=0x00000000;
  IODIR  =LED;
  SpiIni();

  for(i=0;i<10;i++)
  rdat[i]=WRdata(wdat[i]); 

  for(i=0;i<10;i++)
  {if(rdat[i]!=i)
  led(LED);
  }			
  IOSET=LED;

  while(1);
}

⌨️ 快捷键说明

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