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

📄 sspprivate.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 功能部件头文件,供用户使用.
**
**--------------------------------------------------------------------------------------------------------
** 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_PRIVATE_H                                                     
#define __SSP_PRIVATE_H

/*********************************************************************************************************
  SSP 最大个数定义
*********************************************************************************************************/
#define __SSP0                         0

#define __SSP_MAX_NUM                  1                             /*  LPC22xx SSP总线接口模式共有3个 */
#define __SSP_MAX_MODE                 3                             /*  三种总线模式:SPI,SSI,MICROWIRE */

/*********************************************************************************************************
  SSP 寄存器偏移地址宏
*********************************************************************************************************/
#define __B_SSP_SSPCR0                 0
#define __B_SSP_SSPCR1                 1
#define __B_SSP_SSPDR                  2
#define __B_SSP_SSPSR                  3
#define __B_SSP_SSPCPSR                4
#define __B_SSP_SSPIMSC                5
#define __B_SSP_SSPRIS                 6
#define __B_SSP_SSPMIS                 7 
#define __B_SSP_SSPICR                 8

/*********************************************************************************************************
  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 Queue状态标志
*********************************************************************************************************/
#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
 
/*********************************************************************************************************
  SSP 寄存器字长偏移地址宏参数
*********************************************************************************************************/
#define __SSP_OFFSET_BASE              0

/*********************************************************************************************************
  SSP 功率部分寄存器偏移地址
*********************************************************************************************************/
#define __B_SSP_PCONP                  49

/*********************************************************************************************************
  SSP 配置参数结构体
*********************************************************************************************************/
typedef struct {
    uint8     SSPType;
    uint8     MasterSlaver;
    uint8     CPHA;
    uint8     CHOL;
    uint32    SSPBaudRate;
    uint32    BitsLen;

}__SSP_PARAM;                                                           /*  定义参数结构体类型          */

typedef __SSP_PARAM              *__PSSP_PARAM;                         /*  定义结构体指针类型          */

/*********************************************************************************************************
  SSP 设备信息结构体
*********************************************************************************************************/
struct __ssp_info {

                uint32  uiSSPID;                                        /*  SSP编号      0:SSP0 1:SSP1  */
                uint32  uiSSPMode;                                      /*  SSP总线接口模式             */
                                                                        /*  SPI          :     0        */
                                                                        /*  SSI          :     1        */
                                                                        /*  MICROWIRE    :     2        */
                
   volatile     uint8   ucSendIntEn;                                    /*  写中断使能 10:禁能 11:使能  */
                uint8   ucDataLen;                                      /*  数据帧长度                  */
                uint8   ucMasterSlave;                                  /*  主从机标志   0:主机  1:从机 */
                uint8   ucSSPState;                                     /*  SSP状态标志:  空闲.写/读忙  */
                uint32  uiSQueueState;                                  /*  发队列状态   30:空 31:满    */
                uint32  uiRQueueState;                                  /*  收队列状态   32:未满        */
                uint32  uiHardSFIFOState;                               /*  发硬FIFO状态 40:空 41:非空  */
                uint32  uiHardRFIFOState;                               /*  收硬FIFO状态 40:空 41:非空  */
                
                uint32  uiOffsetBase;                                   /*  SSP寄存器偏移地址           */
    volatile    uint32 *puiAddrBase;                                    /*  SSP寄存器基地址             */
              			                                            	
         __PDATA_QUEUE  SspSendQueAddr;                                 /*  SSP发送数据缓冲队列指针     */
         __PDATA_QUEUE  SspRecvQueAddr;                                 /*  SSP接收数据缓冲队列指针     */
         __PSSP_PARAM   pSspParam;                                      /*  SSP参数结构体指针           */
         
                uint16  usSspFrameNum;                                  /*  SSP帧个数定义,一般为8帧     */                                                       

};

typedef struct __ssp_info         __SSP_INFO;                           /*  定义结构体类型              */
typedef        __SSP_INFO        *__PSSP_INFO;                          /*  定义结构体指针类型          */

/*********************************************************************************************************
**  SSP CS片选线操作宏 (当设为SPI主机状态时)  
**  说明:
    如果用户不使用SSEL线用作从机的片选线,即虽然初始化了SSEL脚,但是没有将SSEL作为从机片线信号,
    而使用了Pin对应IO 作为片选线时的宏配置. Pin : 取值为P0_01,P0_27...
*********************************************************************************************************/
#define __GPIO_FUN_LIB                       __GPIO_H                   /*  使用GPIO软件包的函数        */

#ifdef  __GPIO_FUN_LIB 
    #ifdef   SSP_CS_GPIO_ENABLE                                         /*  当使用软件模拟CS片选从机功能*/
    #define  SSP_CS_GPIO                    1 
    #else
    #define  SSP_CS_GPIO                    0                           /*  默认为不模拟CS片选从机功能  */
    #endif
#endif 

#define __SSP_CS_SET(SSP_CS_Pin)            gpioSet(SSP_CS_Pin)         /*  对应IO脚置高电平            */             

#define __SSP_CS_CLR(SSP_CS_Pin)            gpioClr(SSP_CS_Pin)         /*  对应IO脚置低电平            */
                                      
                                                                        /*  CS使能,根据不同器件配置    */
#define __SSP_CS_ENABLE(SSP_CS_Pin)          __SSP_CS_CLR(SSP_CS_Pin)
                                        
                                                                        /*  CS禁能,根据不同器件配置    */                   
#define __SSP_CS_DISABLE(SSP_CS_Pin)         __SSP_CS_SET(SSP_CS_Pin)



#endif                                                                  /*  __SSP_PRIVATE_H             */
/*********************************************************************************************************
  END
*********************************************************************************************************/

⌨️ 快捷键说明

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