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

📄 spiprivate.h

📁 philips arm7 lpc2103的常用功能的库函数第二部分
💻 H
字号:
/***********************************************Copyright (c)*********************************************
**                                Guangzou ZLG-MCU Development Co.,LTD.
**                                     
**                                       http://www.zlgmcu.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name:			    SpiPrivate.h
** Last modified Date:      2007-10-15
** Last Version:		    1.0
** Descriptions:		    Spi私有头文件
**
**--------------------------------------------------------------------------------------------------------
** Created by:			    lixiaocheng
** Created date:		    2007-10-20
** Version:				    1.0
** Descriptions:		    该头文件只要在Spi.c中包括就好了,在Config.h中不要包括
**
**--------------------------------------------------------------------------------------------------------
** Modified by:			    
** Modified Date:		    
** Version:				    
** Descriptions:		    
**
*********************************************************************************************************/
#ifndef __SPI_PRIVATE_H
#define __SPI_PRIVATE_H

/*********************************************************************************************************
   SPI参数设置结构体
*********************************************************************************************************/
typedef struct {
    uint32      uiSpiSpeed;
    uint8       ucpha;
    uint8       ucpol;
    uint8       uclsb;
    uint8       ucpie;
} __SPI_PARM;

typedef __SPI_PARM              *__PSPI_PARM;                           /*  定义一个参数结构体指针      */

/*********************************************************************************************************
   SPI器件信息结构结构体
*********************************************************************************************************/
struct __spi_info {
                uint32      uiOffBase;                                  /*  SPI寄存器间隔= 1 << OffBase */                         
    volatile    uint32     *puiAddrBase;                                /*  SPI寄存器基地址             */            
    volatile    uint8       ucSpiflag;			                        /*  SPI状态标志下面是状态标识   */
                                                                        /*  SPI_IDLE        :   空闲    */
							                                            /*  SPI_WRITE       :   写      */
							                                            /*  SPI_READ        :   读      */		
                uint8       ucSlave;                                    /*  是否是从机标志              */
                uint8       ucReadSend;                                 /*  读填充字节                  */
                uint8       ucWriteMode;                                /*  用户写入数据是否保留返回值  */
                uint32      uiReadLen;                                  /*  要读数据长度                */
                uint32      uiSpiCsPin;                                 /*  记录该设备片选脚            */
        __PDATA_QUEUE       sendQueue;                                  /*  发送队列指针                */
        __PDATA_QUEUE       recvQueue;                                  /*  接收队列指针                */
}; 

typedef struct __spi_info    __SPI_INFO;                                /*  定义类型                    */
typedef __SPI_INFO          *__PSPI_INFO;                               /*  定义指针类型                */

/*********************************************************************************************************
   定义SPI器件数目
*********************************************************************************************************/
#define __SPI_MAX_NUM                 1

/*********************************************************************************************************
   定义SPI缓冲区的大小,单位字节
*********************************************************************************************************/
#define __SPI_MAX_RECV_QUEUE         100
#define __SPI_MAX_SEND_QUEUE         100

/*********************************************************************************************************
   定义SPI主从机标识,本驱动暂时只支持主机驱动
*********************************************************************************************************/
#define __SPI_MASTER                  1
#define __SPI_SLAVE                   0

/*********************************************************************************************************
   SPI工作模式宏定义
*********************************************************************************************************/
#define __SPI_PHA_L                   0                                 /*  在第一个时钟沿采样          */
#define __SPI_PHA_H                   1                                 /*  在第二个时钟沿采样          */

#define __SPI_POL_L                   1                                 /*  SCK低电平有效               */
#define __SPI_POL_H                   0                                 /*  SCK高电平有效               */

#define __SPI_LSB                     1                                 /*  数据传输LSB在先             */
#define __SPI_MSB                     0                                 /*  数据传输MSB在先             */

#define __SPI_INT_EN                  1                                 /*  使能SPI中断                 */
#define __SPI_INT_DIS                 0                                 /*  禁能SPI中断                 */

/*********************************************************************************************************
  定义使用到的寄存器偏移地址
*********************************************************************************************************/
#define __B_SPI_PCR                   0                                 /*  SPCR                        */
#define __B_SPI_PSR                   1                                 /*  SPSR                        */
#define __B_SPI_PDR                   2                                 /*  SPDR                        */
#define __B_SPI_CCR                   3                                 /*  SPCCR                       */
#define __B_SPI_INT                   7                                 /*  SPINT                       */

/*********************************************************************************************************
  定义CS管脚选择功能,如果器件是CS高有效,则配置__SPI_CS_ENABLE(pin)为__SPI_CS_SET(pin)即可
*********************************************************************************************************/
#define __SPI_CS_SET(pin)            gpioSet(pin)                       /*  管脚置高函数                */
#define __SPI_CS_CLR(pin)            gpioClr(pin)                       /*  管脚置低函数                */
                                                                        /*  CS使能,根据不同器件配置    */
#define __SPI_CS_ENABLE(pin)         __SPI_CS_CLR(pin)
                                        
                                                                        /*  CS禁能,根据不同器件配置    */                   
#define __SPI_CS_DISABLE(pin)        __SPI_CS_SET(pin)


#endif                                                                  /*  __SPI_PRIVATE_H             */
/*********************************************************************************************************
   END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

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