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

📄 spi.h

📁 EP9315的wince下载程序。download.exe
💻 H
字号:
//****************************************************************************
//
// spi.h - The common spi declaration for ep93xx
//
// Copyright (c) 2006 Cirrus Logic, Inc.
//
//****************************************************************************
#ifndef SPI_H
#define SPI_H


//****************************************************************************
// spi  eeprom operate declaration
//****************************************************************************
typedef struct eeprom {
    char    		manufacture_id;
    char    		device_id;
    void    		(*init)(void);
    int     		(*query)(unsigned int manu_id,unsigned int device_id);
    int     		(*erase)(unsigned int addr, int length);
    int     		(*program)(unsigned int addr, unsigned char *pBuffer, int length);
    unsigned long     	(*read)(unsigned int addr, unsigned char *pBuffer, int length);
 } eeprom_t;

//****************************************************************************
//    Maybe you can add other eeprom support.
//****************************************************************************


typedef struct tSSP
{
    union 
    { // SSP Control register 0
        struct 
        {
            unsigned int DSS:4;			
            unsigned int FRF:2;			
            unsigned int SPO:1;			
            unsigned int SPH:1;			
            unsigned int SCR:8;			
            unsigned int RSVD:16;		
        } Field;
        unsigned int Value;
    } SSPCR0;							

    union 
    { // SSP Control register 1
        struct 
        {
            unsigned int RIE:1;			
            unsigned int TIE:1;			
            unsigned int RORIE:1;		
            unsigned int LBM:1;			
            unsigned int SSE:1;			
            unsigned int MS:1;			
            unsigned int SOD:1;			
            unsigned int RSVD:25;		
        } Field;
        unsigned int Value;
    } SSPCR1;							

    union 
    { // SSP Data register
        struct 
        {
            unsigned int DATA:16;		
            unsigned int RSVD:16;		
        } Field;
        unsigned int Value;
    } SSPDR;							

    union 
    { // SSP Status register
        struct 
        {
            unsigned int TFE:1;			
            unsigned int TNF:1;			
            unsigned int RNE:1;			
            unsigned int RFF:1;			
            unsigned int BSY:1;			
            unsigned int RSVD:27;		
        } Field;
        unsigned int Value;
    } SSPSR;							

    union 
    { // SSP clock prescale register
        struct 
        {
            unsigned int CPSDVSR:8;		
            unsigned int RSVD:24;		
        } Field;
        unsigned int Value;
    } SSPCPSR;							
    
    union 
    { // SSP interrupt identification register
        struct 
        {
            unsigned int RIS:1;			
            unsigned int TIS:1;			
            unsigned int RORIS:1;		
            unsigned int RSVD:13;		
        } Field;
        unsigned int Value;				
    } SSPIIR;							

//
// Test registers
//
	unsigned int const SSPTCER[(-(0x0040-0x007C))>>2];    

	union
    { // SSP Test control register
        struct 
        {
        	unsigned int TESTEN:1;		
            unsigned int TESTCLKEN:1;	
            unsigned int REGCLK:1;		
            unsigned int TESTRST:1;		
            unsigned int TESTINPSEL:1;          
            unsigned int RSVD:27;       
        } Field;
        unsigned int Value;
    } SSPTCR;							
    
   	union
    { // SSP Test mode register
        struct 
        {
            unsigned int NIBMODE:1;		
            unsigned int CPSCNIBMODE:1;	
            unsigned int RSVD:30;		
        } Field;
        unsigned int Value;
    } SSPTMR;							

	union
    { // SSP Test input stimulus register
        struct 
        {
            unsigned int SSPRXD:1;		
            unsigned int SFRMIN:1;		
            unsigned int SCLKIN:1;		
            unsigned int RSVD:29;
        } Field;
        unsigned int Value;
    } SSPTISR;							

	union
    { // SSP Test output capture register
        struct 
        {
            unsigned int SFRMOUT:1;		
            unsigned int SCLKOUT:1;		
            unsigned int SSPTXD:1;		
            unsigned int SSPOE:1;		
            unsigned int SSPINTR:1;		
            unsigned int SSPCTLOE:1;	
            unsigned int RSVD:26; 		                                                                       
        } Field;
        unsigned int Value;
    } SSPTOCR;							

	union
    { // SSP Test clock prescale counter register
        struct 
        {
            unsigned int SSPCPSC:6;		
            unsigned int RSVD:26;		
        } Field;
        unsigned int Value;
    } SSPTCPCR;							

} SSP;

//-----------------------------------------------------------------------------
// Global Register Anchor Definitions
//-----------------------------------------------------------------------------
static volatile SSP	* const SSP1	= (SSP *)      0x808A0000;


#endif // SPI_H

⌨️ 快捷键说明

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