📄 spi.h
字号:
/****************************************Copyright (c)**************************************************
** 广州周立功单片机发展有限公司
** 研 究 所
** 产品一部
**
** http://www.zlgmcu.com
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: SPI.h
**创 建 人: 陈明计
**最后修改日期: 2003年7月5日
**描 述: μCOS-II下LPC210x的SPI主模式底层驱动头文件
** 使用方法如下:
** SPIInit(xx); //初始化时调用,只能一次
** ....
** SPIStart();
** 允许从机;
** 多次SPIRW(yy);
** 禁止从机;
** SPIEnd();
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 陈明计
** 版 本: v1.0
** 日 期: 2003年7月5日
** 描 述: 原始版本
**
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人: 陈明计
** 日 期: 2003年7月11日
** 描 述: 更正注释
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#define SPI_CPHA_TWO 0x08
#define SPI_CPHA_ONE 0x00
#define SPI_CPOL_LOW 0x10
#define SPI_CPOL_HIGH 0x00
#define SPI_MSTR_MASTER 0x20
#define SPI_MSTR_SLAVE 0x00
#define SPI_LSBF_BIT0 0x40
#define SPI_LSBF_BIT7 0x00
#define SPI_SPIE_EN 0x80
#define SPI_SPIE_DISABLE 0x00
#ifndef IN_SPI
extern uint8 SPIInit(uint8 Fdiv);
/*********************************************************************************************************
** 函数名称: SPIInit
** 功能描述: 初始化SPI总线为主模式
** 输 入: Fdiv:用于设定总线频率(总线频率=Fpclk/Fdiv)
**
** 输 出:TRUE :成功
** FALSE:失败
** 全局变量: UseSPITaskPro,SPIReviceMbox,SPISem
** 调用模块: OSMboxCreate,OSSemCreate
********************************************************************************************************/
extern uint8 GetSPIFlag(void);
/*********************************************************************************************************
** 函数名称: GetSPIFlag
** 功能描述: 获取SPI状态
** 输 入: 无
**
** 输 出:0 :空闲
** 1 :忙
** 全局变量: 无
** 调用模块: 无
********************************************************************************************************/
extern void SPIStart(void);
/*********************************************************************************************************
** 函数名称: SPIStart
** 功能描述: 开始访问SPI
** 输 入: 无
**
** 输 出:TRUE :成功
** FALSE:失败
** 全局变量: UseSPITaskPro
** 调用模块: OSSemPend
********************************************************************************************************/
extern uint8 SPIRW(uint8 *Rt, uint8 Data);
/*********************************************************************************************************
** 函数名称: SPIRW
** 功能描述: 将数据通过SPI总线发送出去并从SPI总线接收一个数据
** 输 入: Rt :函数通过这个指针返回接收到的数据
** Data:发送的数据
** 输 出:TRUE :成功
** FALSE:失败
** 全局变量: UseSPITaskPro
** 调用模块: OSMboxPend,GetOSPrioCur
********************************************************************************************************/
extern uint8 SPIEnd(void);
/*********************************************************************************************************
** 函数名称: SPIEnd
** 功能描述: 访问SPI结束
** 输 入: 无
**
** 输 出:TRUE :成功
** FALSE:失败
** 全局变量: UseSPITaskPro
** 调用模块: OSSemPost,GetOSPrioCur
********************************************************************************************************/
extern void SPI_Exception(void);
/*********************************************************************************************************
** 函数名称: SPI_Exception
** 功能描述: SPI中断服务程序
** 输 入: 无
**
** 输 出: 无
**
** 全局变量: 无
** 调用模块: OSMboxPost
********************************************************************************************************/
#endif
//#define SPI_MOD SPI_CPHA_ONE | SPI_CPOL_HIGH | SPI_LSBF_BIT7 /* SPI模式 */
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -