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

📄 master.c

📁 LPC2106的双机SPI通讯,带PROTEUS仿真.收发程序均有.
💻 C
字号:
#include <lpc210x.h>
#define CS 1<<8
#define LED 1<<9
#define uchar unsigned char
uchar wdat[10]={0,1,2,3,4,5,6,7,8,9};
uchar rdat[10];

uchar SpiSendData(uchar data);
/*******************************************************************************
*名称: MSpiIni()
*功能: 初始化SPI接口,设置为主机	 
*******************************************************************************/
void SpiIni(void)
{ S0SPCCR=0x52;            //设置SPI时钟分频	 位0必须为0,S0SPCCR必须大于8	  
  S0SPCR =0x20;            //设置SPI接口模式,MSTR=1,CPOL=1,CPHA=0,LSBF=0
}
/*******************************************************************************
*名称: MSendData()
*功能: 向SPI总线发送数据   
*******************************************************************************/
uchar SpiSendData(uchar data)
{ 
  IOCLR  =CS;
  S0SPDR=data;
  while((S0SPSR&0x80)==0);                  //等待SPIF置位,即等待数据发送完毕 
  IOSET  =CS;
  return S0SPDR;    
}

void delay(unsigned int n)
{while(n--);
}
int main(void)
{ uchar i;
  PINSEL0=0x00005500;                 //设置SPI引脚连接	 
  PINSEL1=0x00000000;
  IODIR	 =(CS|LED);
  IOSET  =CS;
  SpiIni();
  delay(10000);

  for(i=0;i<10;i++)
  rdat[i]=SpiSendData(wdat[i]);
  IOSET = LED;
  while(1);		
}

⌨️ 快捷键说明

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