?? spi.c
字號:
#include "LPC214x.H"
#include "SPI.H"
//#include "config.h"
/********UC/OS模板來自高手之手,鄙人挪用*********************/
/*************************M*********************************/
/******挪用:月亮 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);
}
/**************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -