spi.c
上传用户:dsfgsdff
上传日期:2022-07-10
资源大小:319k
文件大小:1k
- #include "LPC214x.H"
- #include "SPI.H"
- //#include "config.h"
- /**************************************************************/
- /************WWW.MCU666.COM************************************/
- /************QQ:228939191 月亮*********************************/
- #define HC595_CS (1 << 29)
- /**************************************************************/
- void SPI_init(void)
- {
- IO0DIR|= HC595_CS;
- PINSEL0 = (PINSEL0 & 0xFFFF00FF) | 0x00005500; // 设置管脚连接SPI
- S0SPCCR = 0x52; // 设置SPI时钟分频
- S0SPCR = (0 << 3) | // CPHA = 0, 数据在SCK 的第一个时钟沿采样
- (1 << 4) | // CPOL = 1
- (1 << 5) | // MSTR = 1, SPI 处于主模式
- (0 << 6) | // LSBF = 0, SPI 数据传输MSB (位7)在先
- (0 << 7); // SPIE = 0, SPI 中断被禁止
- }
- /*******************************************************************************
- ** 函数名称:MSPI_SendData()
- ** 函数功能:向SPI总线发送数据。
- ** 入口参数:data 待发送的数据
- ** 出口参数:返回值为读取的数据
- *******************************************************************************/
- uint8 MSPI_SendData(uint8 data)
- {
- IOCLR=HC595_CS;
- S0SPDR = data;
- while( 0 == (S0SPSR & 0x80)); // 等待SPIF置位,即等待数据发送完毕
- IOSET=HC595_CS;
- return(S0SPDR);
- }
- /**************************************************************/