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

📄 ssp.h

📁 philips arm7 lpc2103的常用功能的库函数第二部分
💻 H
字号:
/***********************************************Copyright (c)*********************************************
**                                Guangzou ZLG-MCU Development Co.,LTD.
**                                     
**                                       http://www.zlgmcu.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name:			    SSP.h
** Last modified Date:      2007-11-22
** Last Version:		    2.0
** Descriptions:		    SSP 功能部件头文件,供用户使用. 
** Notice:                  LPC22xx系列中,只有LPC2220带有一个SPI/SSP接口.
**
**--------------------------------------------------------------------------------------------------------
** Created by:			    WangGuoguang
** Created date:		    2007-11-14
** Version:				    1.0
** Descriptions:		    此头文件可在config.h中包含.
**
**--------------------------------------------------------------------------------------------------------
** Modified by:			    WangGuoguang 
** Modified Date:		    2007-11-22
** Version:				    2.0
** Descriptions:		    调试通过,并实现预定功能.
**
*********************************************************************************************************/

#ifndef __SSP_H
#define __SSP_H

/*********************************************************************************************************
  SSP 软件包裁剪 
*********************************************************************************************************/
#ifndef SSP_FUN_LIB
#define SSP_FUN_LIB                  1                                  
#endif

/*********************************************************************************************************
**  SSP  软件模拟CS片选功能的宏参数 
**  当用户默认为SSP协议,而不要手动修改片选引脚时,请注释掉 #define SSP_CS_GPIO_ENABLE ,以裁剪去对应宏代码. 
*********************************************************************************************************/
#define SSP_CS_Pin                   P0_20                              /*  作为SSP从机片选线的GPIO编号 */
//#define SSP_CS_GPIO_ENABLE                                            /*  是否使能CS设置              */

/*********************************************************************************************************
   定义 SSP 缓冲区的大小,单位为字节  (根据实际需求定义缓冲长度)
*********************************************************************************************************/
#define SSP_DATA_QUEUE_NUM           100                                /*  定义保存数据队列长度        */
                                                              
/*********************************************************************************************************
  SSP 定义 (定义更多的编号是为了以后移植扩展)
*********************************************************************************************************/
#define SPI                          0                                  /*  SPI       编号              */
#define SSI                          1                                  /*  SSI       编号              */
#define MICROWIRE                    2                                  /*  MicroWire 编号              */

/*********************************************************************************************************
  SSP 状态查询宏
*********************************************************************************************************/
#define SSP_ID                       50                                 /*  SSP设备ID编号               */
#define SSP_M_S                      51                                 /*  主从机查询: 0-主机 1-从机   */
#define SSP_MODE                     52                                 /*  总线类型: SPI,SSI,MicroWire */
#define SSP_BITSLEN                  53                                 /*  帧长度:4, 6, 8位            */
#define SSP_STATE                    54                                 /*  SSP 状态标志                */                  
#define SSP_S_INT_STATE              55                                 /*  SSP 发送中断使能 / 禁止标志 */
#define SSP_S_QUEUE_STATE            56                                 /*  SSP 软件发送FIFO状态        */
#define SSP_R_QUEUE_STATE            57                                 /*  SSP 软件接收FIFO状态        */
#define SSP_H_S_QUEUE_STATE          58                                 /*  SSP 硬件发送FIFO状态        */
#define SSP_H_R_QUEUE_STATE          59                                 /*  SSP 硬件接收FIFO状态        */

/*********************************************************************************************************
  SSP 发送中断使能 / 禁止 
*********************************************************************************************************/
#define SSP_W_INT_ENABLE             10
#define SSP_W_INT_DISABLE            11
#define SSP_R_INT_ENABLE             12

/*********************************************************************************************************
  SSP 状态标志 
*********************************************************************************************************/
#define SSP_IDLE                     20
#define SSP_SEND                     21
#define SSP_RECIEVE                  22

/*********************************************************************************************************
  SSP 软件FIFO状态标志
*********************************************************************************************************/
#define SSP_QUEUE_EMPTY              30
#define SSP_QUEUE_NO_FULL            31
#define SSP_QUEUE_FULL               32

/*********************************************************************************************************
  SSP 硬件FIFO状态标志
*********************************************************************************************************/
#define SSP_FIFO_EMPTY               40
#define SSP_FIFO_NO_FULL             41
#define SSP_FIFO_FULL                42
/*********************************************************************************************************
** Function name:           sspInit()
**
** Descriptions:            SSP初始化函数,使用字符串传入参数
** Input parameters:        uiID        设备号,例如0表示使用SSP0
**                          puiParam    传入参数的字符串指针,参数列表和取值意义如下
**                                      SSPType       :  总线类型:SPI,SSI,Microwire
**                                      MasterSlaver  :  0: 主机  1.从机
**                                      SSPBaudRate   :  如设为SPI总线类型,波特率 <= Fpclk / 8  
**                                      BitsLen       :  帧长度 = 4, 8, 16位 
**                                      CPHA          :  时钟相位 = 0, 1
**                                      CHOL          :  时钟极性 = 0, 1.
**                          pRsv        保留参数,为软件包升级扩展所用.
**
** Returned value:          初始化失败:      OPERATE_FAIL
**                          初始化成功:      OPERATE_SUCCESS
*********************************************************************************************************/ 
uint32 sspInit (uint32  uiID,
                char   *pcArg,
                char   *pRsv);
 
/*********************************************************************************************************
** Function name:	        sspSetMode
**
** Descriptions:            SSP初始化函数,使用字符串传入参数
** Input parameters:        uiID        设备号,例如0表示使用SSP0
**                          puiParam    传入参数的字符串指针,参数列表和取值意义如下
**                                      SSPType       :  总线类型:SPI,SSI,Microwire
**                                      MasterSlaver  :  0: 主机  1.从机
**                                      SSPBaudRate   :  如设为SPI总线类型,波特率 <= Fpclk / 8  
**                                      BitsLen       :  帧长度 = 4, 8, 16位 
**                                      CPHA          :  时钟相位 = 0, 1
**                                      CHOL          :  时钟极性 = 0, 1.
**                          pRsv        保留参数,为软件包升级扩展所用.
**
** Returned value:          操作失败:      OPERATE_FAIL
**                          操作成功:      OPERATE_SUCCESS
**
** Using example :          char *pcArg = "SSPType=0 SSPBaudRate=1000"; adcSetMode(0,pcArg,NULL);
** Notice:                  设备操作失败的原因是输入不正确的设备号.
*********************************************************************************************************/
uint32 sspSetMode (uint32  uiID,
                   char   *pcArg,
                   char   *pRsv);

/*********************************************************************************************************
** Function name:			sspGetState
**
** Descriptions:			获取当前SSP的参数
** Input parameters:        uiID        设备号,例如0表示使用SSP0
**                          uiState     状态宏参数,请参考SSP.h文件说明
**                          pRsv        保留参数,可输入为NULL.
**
** Returned value:          操作失败:      OPERATE_FAIL
**                          操作成功:      返回状态宏
**
** Notice :                 总线类型:      SPI,SSI,MicroWire
                                           SPI          : 0       
                                           SSI          : 1      
                                           MICROWIRE    : 2     
*********************************************************************************************************/
uint32  sspGetState (uint32  uiID,
                     uint32  uiState,
                     void   *pRsv);
                     
/*********************************************************************************************************
** Function name:			sspWrite
** Descriptions:			SSP写数据操作,数据入软件FIFO.同时开启SSP.
** input parameters:		uiID           : 设备号,例如0表示使用SSP0
**							pDataBuf       : 指向待发送数据存储空间指针.类型不定.
**                          uiDataByteNum  : 要发送的字节个数
**
** Returned value:			操作成功:OPERATE_SUCCESS;
**                          操作失败:OPERATE_FAIL.
*********************************************************************************************************/
uint32  sspWrite (uint32  uiID,
                  void   *pDataBuf,
                  uint32  uiDataByteNum);

/*********************************************************************************************************
** Function name:			sspRead
** Descriptions:			SSP读操作,只对软件FIFO操作.
** input parameters:		uiID           : 设备号,例如0表示使用SSP0
**							pDataBuf       : 指向保存所接收数据存储空间指针.类型不定.
**                          uiDataByteNum  : 要接收的字节个数
**
** Returned value:			操作成功:OPERATE_SUCCESS;
**                          操作失败:OPERATE_FAIL.
*********************************************************************************************************/ 
uint32  sspRead (uint32  uiID,
                 void   *pDataBuf,
                 uint32  uiDataByteNum); 

/*********************************************************************************************************
** Function name:			ssp0Isr
** Descriptions:			SSP0中断服务函数
** Transfer Functions:      __sspIsrFunInstall();中断处理函数指针安装函数. 
**                          ssp0Hook();          钩子函数,存放用户处理中断代码.
** input parameters:		无
** Returned value:			无
*********************************************************************************************************/ 
void ssp0Isr (void);



#endif                                                                  /*  __SSP_H                     */
/*********************************************************************************************************
  END
*********************************************************************************************************/

⌨️ 快捷键说明

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