?? spi0.c
字號:
/*******************************************************************************************************
** 北京同方清芝商用機器有限公司
** 研 發 部
**
** http://www.btfts.com
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: SPI0.c
**創 建 人: 李森樹
**創 建 日 期: 2007年3月16日
**最后修改日期:
**描 述: LPC2214的SPI0主模式底層驅動程序
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#define IN_SPI0
#include "config.h"
#ifndef SPI_MOD
#define SPI_MOD 0
#endif
/*********************************************************************************************************
** 函數名稱: SPI0Init
** 功能描述: 初始化SPI總線為主模式
** 輸 入: Fdiv:用于設定總線頻率(總線頻率=Fpclk/Fdiv)
** 輸 出: 無
********************************************************************************************************/
void SPI0Init(uint8 Fdiv)
{
PINSEL0 = (PINSEL0 & (~(0x3f<<8))) | (0x15<<8); // P0.4 P0.5 P0.6管腳為SPI0 其中P0.7配置為GPIO
S0PCCR = Fdiv & 0xfe; // 分頻值 要求大于或等于8的偶數值
S0PCR = (0<<3) | // CPHA=0,數據在SCK的第一個時鐘沿采樣
(0<<4) | // CPOL=0,SCK為高有效
(1<<5) | // MSTR=1,SPI處于主模式
(0<<6) | // LSBF=0,SPI數據傳輸MSB(位7)在先
(0<<7) ; // SPIE=1,SPI中斷被禁止
}
/*********************************************************************************************************
** 函數名稱: HostSPI_SendData()
** 功能描述: SPI總線為主模式,主機向總線發送數據,并帶回一個數據
** 輸 入: data 待發送的數據
** 輸 出: 返回值為讀取的數據
********************************************************************************************************/
uint8 HostSPI_SendData(uint8 data)
{
S0PDR = data;
while(0 == (S0PSR & 0x80));//等待SPIF置位,即等待數據發送完畢
return(S0PDR);
}
/*********************************************************************************************************
** End Of File
**********************************************************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -