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

📄 hard.h

📁 ATMEL 89c51sndc mp3外接硬盘源码
💻 H
字号:
/*H**************************************************************************
* NAME:         hard.h
*----------------------------------------------------------------------------
* Copyright (c) 2002 Atmel.
*----------------------------------------------------------------------------
* RELEASE:      snd1c-demo-hdd-0_2_0      
* REVISION:     1.1     
*----------------------------------------------------------------------------
* PURPOSE:
* This file contains the low-level memory definition
*****************************************************************************/

#ifndef _HARD_H_
#define _HARD_H_

/*_____ I N C L U D E S ____________________________________________________*/

#ifndef MEM_CHIP_TYPE
  #error MEM_CHIP_TYPE must be defined in config.h
  #define MEM_CHIP_TYPE  CHIP_NONE
#endif
#ifndef MEM_CARD_TYPE
  #error MEM_CARD_TYPE must be defined in config.h
  #define MEM_CARD_TYPE  CARD_NONE
#endif

/*_____ M A C R O S ________________________________________________________*/

/*----- Memory type -----*/
#define MEM_CHIP        ((bit)0)            /* on-board memory */
#define MEM_CARD        ((bit)1)            /* memory card */

#define CHIP_NONE       0
#define CHIP_NF         1
#define CHIP_DF         2
#define CHIP_HDD        3

#define CARD_NONE       0
#define CARD_MMC        1
#define CARD_SD         2
#define CARD_CF         3
#define CARD_SMC        4
#define CARD_CDR        5

#if (MEM_CARD_TYPE == CARD_NONE) && (MEM_CHIP_TYPE == CHIP_NONE)
  #error No card and chip type defined in config.h
#endif

#if MEM_CHIP_TYPE == CHIP_NF
  #include "lib_mem\nf\nf.h"                /* nand flash definition */
  #define Chip_install()                    nf_install()
  #define Chip_uninstall()                  nf_uninstall()
  #define Chip_read_byte()                  nf_read_byte()
  #define Chip_read_open(pos)               nf_read_open(pos)
  #define Chip_read_close()                 nf_read_close()
  #define Chip_write_byte(b)                nf_write_byte(b)
  #define Chip_write_open(pos)              nf_write_open(pos)
  #define Chip_write_close()                nf_write_close()
  #define Chip_format()                     nf_format()
#elif MEM_CHIP_TYPE == CHIP_DF
  #include "lib_mem\df\df.h"                /* dataflash definition */
  #define Chip_install()                    df_install()
  #define Chip_uninstall()                  df_uninstall()
  #define Chip_read_byte()                  df_read_byte()
  #define Chip_read_open(pos)               df_read_open(pos)
  #define Chip_read_close()                 df_read_close()
  #define Chip_write_byte(b)                df_write_byte(b)
  #define Chip_write_open(pos)              df_write_open(pos)
  #define Chip_write_close()                df_write_close()
  #define Chip_format()                     df_format()
#elif MEM_CHIP_TYPE == CHIP_HDD
  #include "lib_mem\hdd\ata.h"              /* hard disk definition */
  #define Chip_install()                    hdd_install()
  #define Chip_uninstall()                  hdd_uninstall()
  #define Chip_read_byte()                  hdd_read_byte()
  #define Chip_read_open(pos)               hdd_read_open(pos, 1)
  #define Chip_read_close()                 hdd_read_close()
  #define Chip_write_byte(b)                hdd_write_byte(b)
  #define Chip_write_open(pos)              hdd_write_open(pos, 1)
  #define Chip_write_close()                hdd_write_close()
  #define Chip_format()                     hdd_format()
  #define Chip_read_long_big_endian()       hdd_read_long_big_endian()
  #define Chip_read_one_sector()            hdd_read_one_sector()
  #define Chip_write_one_sector()           hdd_write_one_sector()
#else 
  #define Chip_install()                    KO
  #define Chip_uninstall()
#endif

#if MEM_CARD_TYPE == CARD_MMC
  #include "lib_mem\mmc\mmc.h"              /* multimediacard definition */
  #define Card_install()                    mmc_install()
  #define Card_uninstall()                  mmc_uninstall()
  #define Card_read_byte()                  mmc_read_byte()
  #define Card_read_open(pos)               mmc_read_open(pos)
  #define Card_read_close()                 mmc_read_close()
  #define Card_write_byte(b)                mmc_write_byte(b)
  #define Card_write_open(pos)              mmc_write_open(pos)
  #define Card_write_close()                mmc_write_close()
  #define Card_format()                     mmc_format()
#elif MEM_CARD_TYPE == CARD_SD
  #include "lib_mem\sd\sd.h"                /* secure digital definition */
  #define Card_install()                    sd_install()
  #define Card_uninstall()                  sd_uninstall()
  #define Card_read_byte()                  sd_read_byte()
  #define Card_read_open(pos)               sd_read_open(pos)
  #define Card_read_close()                 sd_read_close()
  #define Card_write_byte(b)                sd_write_byte(b)
  #define Card_write_open(pos)              sd_write_open(pos)
  #define Card_write_close()                sd_write_close()
  #define Card_format()                     sd_format()
#elif MEM_CARD_TYPE == CARD_CF
  #include "lib_mem\cf\cf.h"                /* compactflash definition */
  #define Card_install()                    cf_install()
  #define Card_uninstall()                  cf_uninstall()
  #define Card_read_byte()                  cf_read_byte()
  #define Card_read_open(pos)               cf_read_open(pos)
  #define Card_read_close()                 cf_read_close()
  #define Card_write_byte(b)                cf_write_byte(b)
  #define Card_write_open(pos)              cf_write_open(pos)
  #define Card_write_close()                cf_write_close()
  #define Card_format()                     cf_format()
#elif MEM_CARD_TYPE == CARD_SMC
  #include "lib_mem\smc\smc.h"              /* smarmedia card definition */
  #define Card_install()                    smc_install()
  #define Card_uninstall()                  smc_uninstall()
  #define Card_read_byte()                  smc_read_byte()
  #define Card_read_open(pos)               smc_read_open(pos)
  #define Card_read_close()                 smc_read_close()
  #define Card_write_byte(b)                smc_write_byte(b)
  #define Card_write_open(pos)              smc_write_open(pos)
  #define Card_write_close()                smc_write_close()
  #define Card_format()                     smc_format()
#elif MEM_CARD_TYPE == CARD_CDR
  #include "lib_mem\cd\cd.h"                /* cdrom definition */
  #define Card_install()                    cd_install()
  #define Card_uninstall()                  cd_uninstall()
  #define Card_read_byte()                  cd_read_byte()
  #define Card_read_open(pos)               cd_read_open(pos)
  #define Card_read_close()                 cd_read_close()
  #define Card_write_byte(b)                cd_write_byte(b)
  #define Card_write_open(pos)              cd_write_open(pos)
  #define Card_write_close()                cd_write_close()
  #define Card_format()                     cd_format()
#else 
  #define Card_install()                    KO
  #define Card_uninstall()
#endif


/*_____ D E F I N I T I O N ________________________________________________*/

extern  bdata bit     gl_memory;            /* selected memory */


/*_____ D E C L A R A T I O N ______________________________________________*/

#define Hard_chip_init()                Chip_init()
#define Hard_chip_install()             Chip_install()
#define Hard_chip_uninstall()           Chip_uninstall()
#define Hard_card_init()                Card_init()
#define Hard_card_install()             Card_install()
#define Hard_card_uninstall()           Card_uninstall()

#if MEM_CARD_TYPE == CARD_NONE
  #define Hard_read_byte()              Chip_read_byte()
  #define Hard_read_open(pos)           Chip_read_open(pos)
  #define Hard_read_close()             Chip_read_close()
  #define Hard_write_byte(b)            Chip_write_byte(b)
  #define Hard_write_open(pos)          Chip_write_open(pos)
  #define Hard_write_close()            Chip_write_close()
  #define Hard_format()                 Chip_format()
  #define Hard_read_long_big_endian()   Chip_read_long_big_endian()
  #define Hard_load_sector()            Chip_read_one_sector()
  #define Hard_download_sector()        Chip_write_one_sector()
#endif

#if MEM_CHIP_TYPE == CHIP_NONE
  #define Hard_read_byte()              Card_read_byte()
  #define Hard_read_open(pos)           Card_read_open(pos)
  #define Hard_read_close()             Card_read_close()
  #define Hard_write_byte(b)            Card_write_byte(b)
  #define Hard_write_open(pos)          Card_write_open(pos)
  #define Hard_write_close()            Card_write_close()
  #define Hard_format()                 Card_format()
  #define Hard_read_long_big_endian()   Card_read_long_big_endian()
  #define Hard_load_sector()            Card_read_one_sector()
  #define Hard_download_sector()        Card_write_one_sector()
#endif

#if ((MEM_CHIP_TYPE != CHIP_NONE) && (MEM_CARD_TYPE != CARD_NONE))
  #define Hard_read_byte()              ((gl_memory == MEM_CHIP) ? Chip_read_byte() : Card_read_byte())
  #define Hard_read_open(pos)           ((gl_memory == MEM_CHIP) ? Chip_read_open(pos) : Card_read_open(pos))
  #define Hard_read_close()             ((gl_memory == MEM_CHIP) ? Chip_read_close() : Card_read_close())
  #define Hard_write_byte(b)            ((gl_memory == MEM_CHIP) ? Chip_write_byte(b) : Card_write_byte(b))
  #define Hard_write_open(pos)          ((gl_memory == MEM_CHIP) ? Chip_write_open(pos) : Card_write_open(pos))
  #define Hard_write_close()            ((gl_memory == MEM_CHIP) ? Chip_write_close() : Card_write_close())
  #define Hard_format()                 ((gl_memory == MEM_CHIP) ? Chip_format() : Card_format())
  #define Hard_read_long_big_endian()   ((gl_memory == MEM_CHIP) ? Chip_read_long_big_endian() : Card_read_long_big_endian())
  #define Hard_load_sector()            ((gl_memory == MEM_CHIP) ? Chip_read_one_sector() : Card_read_one_sector())
  #define Hard_download_sector()        ((gl_memory == MEM_CHIP) ? Chip_write_one_sector() : Card_write_one_sector())
#endif


#endif  /* _HARD_H_ */

⌨️ 快捷键说明

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