config.h

来自「MP3设计源代码 使用atmel的单片机」· C头文件 代码 · 共 164 行

H
164
字号
/*H**************************************************************************
* NAME:         config.h
*----------------------------------------------------------------------------
* Copyright (c) 2002 Atmel.
*----------------------------------------------------------------------------
* RELEASE:      snd1c-demo-df-sd-3_0_0      
* REVISION:     1.22     
*----------------------------------------------------------------------------
* PURPOSE:
* This file contains the system configuration definition
*****************************************************************************/

#ifndef _CONFIG_H_
#define _CONFIG_H_


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

#include "lib_mcu\compiler.h"               /* compiler definitions */
#include "lib_mcu\regsnd1.h"                /* component declaration */
#include "lib_mcu\extsnd1.h"                /* component extended declaration */


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

/*----- Library Configuration -----*/

/* Player Mode */
#define PLAYER_PLAY_MODE      PLAY_DISK     /* _DIR or _DISK */
#define PLAYER_PLAY_START     START_STOP    /* _PLAY or _STOP */
#define PLAYER_PLAY_LOOP      PLAY_NO_LOOP  /* _LOOP or _NO_LOOP */

#define MEM_CHIP_FS     FS_FAT_12_16         /* _FAT_12_16  _FAT_32  _ISO _NONE     */
#define MEM_CARD_FS     FS_FAT_12_16         /* _FAT_12_16  _FAT_32  _ISO _NONE     */

#define MEM_RESERVED_SIZE     0           /* Reserved disk space in sector */

/* Storage Driver */
#define MEM_CHIP_TYPE         CHIP_DF       /* _DF, _NF, _HDD or _NONE */
#define MEM_CARD_TYPE         CARD_SD       /* _MMC, _SD, _SMC, _CF, _CDR or _NONE */

/* Timer Driver */
#define T0_X2                 TRUE          /* FT0_IN always Fosc/2 */
#define T1_X2                 TRUE          /* FT1_IN always Fosc/2 */

/* Keyboard Driver */
#define KBD_EXIT_PD           FALSE         /* Exit power down configuration */
#define LOCK_ROW              P1_2          /* ROW of lock key */
#define KEY_LOCK              KEY_2_3       /* Keypad Locked */

/* MP3 Driver */
#define MP3_CRC_SKIP          FALSE         /* CRC error configuration */

/* USB Driver */
#define USB_PU_CTRL           FALSE         /* no pull-up control */
#define VENDOR_ID             0xEB03        /* Atmel vendor ID = 03EBh */
#define PRODUCT_ID            0x0220        /* Atmel Product ID: 2002h */
#define RELEASE_NUMBER        0x0001

/* USB Mass Storage ! unicode char */
#define USB_MANUFACTURER_NAME {'A'<<8,'T'<<8,'M'<<8,'E'<<8,'L'<<8}
#define USB_MN_LENGTH         5

#define USB_PRODUCT_NAME      {'S'<<8,'N'<<8,'D'<<8,'1'<<8,' '<<8,'S'<<8,'t'<<8,\
                               'o'<<8,'r'<<8,'a'<<8,'g'<<8,'e'<<8}
#define USB_PN_LENGTH         12

#define USB_SERIAL_NUMBER     {'4'<<8,'7'<<8,'1'<<8,'0'<<8,'7'<<8,'6'<<8,'5'<<8,\
                               '0'<<8,'6'<<8,'6'<<8,'4'<<8,'5'<<8,'1'<<8}
#define USB_SN_LENGTH         13

/* SCSI Mass Storage */
#define SBC_VENDOR_ID         {'G','e','n','e','r','i','c',' '}
#define SBC_PRODUCT_ID        {'S','N','D','1',' ','M','P','3',' ','P','l','a','y','e','r',' '}
#define SBC_REVISION_ID       {'0','.','0','0'}

/*----- System Definition -----*/

/* Clock */
#define X2_MODE                             /* X2 mode */
//#undef X2_MODE                              /* no X2 mode */

#define FOSC                  16000         /* oscillator frequency (KHz) */

#ifdef X2_MODE
    #define FPER              FOSC
#else
    #define FPER              FOSC/2
#endif

/* Scheduler Definitions */
#define Scheduler_task_1_init mode_task_init
#define Scheduler_task_2_init usb_task_init
#define Scheduler_task_3_init mem_task_init
#define Scheduler_task_4_init kbd_task_init
#define Scheduler_task_5_init disp_task_init

#define Scheduler_task_1      mode_task
#define Scheduler_task_2      usb_task
#define Scheduler_task_3      mem_task
#define Scheduler_task_4      kbd_task
#define Scheduler_task_5      disp_task

#define scheduler_btick_0     gl_cpt_tick
#define scheduler_btick_1     gl_kbd_tick
#define scheduler_btick_2     gl_mem_tick

#define SCHEDULER_TYPE        SCHEDULER_FREE  /* _TIMED, _TASK, _FREE */
#define Scheduler_time_init   sch_time_init

#define SCHEDULER_TICK        10            /* unit is ms */

/* ADC Frequency */
#define SAMPLING_PERIOD       0.125         /* unit is ms */
#define SECT_PER_SECOND       (2/SAMPLING_PERIOD) /* 512 bytes sector size */

/* Interrupt Priorities */
#define EX0_PRIO              ((Byte)0)
#define T0_PRIO               ((Byte)3)
#define EX1_PRIO              ((Byte)0)
#define T1_PRIO               ((Byte)2)
#define MP3_PRIO              ((Byte)2)
#define AUD_PRIO              ((Byte)2)
#define MMC_PRIO              ((Byte)0)
#define I2C_PRIO              ((Byte)0)
#define SPI_PRIO              ((Byte)0)
#define ADC_PRIO              ((Byte)0)
#define KBD_PRIO              ((Byte)0)
#define USB_PRIO              ((Byte)1)


/*----- Firmware Definition -----*/
#define GL_BUF_SIZE           (256)

/* Mass Storage Configuration */
#define MS_MAX_LUN            (1)           /* number of logical unit - 1 */

/* Chip Version */
/* AT89C51SND1C = 0x84 */
#define CHIP_VERSION          ((Byte)0x84)

/* Firmware Version */
#define SYS_VERSION           "V3.0.0"


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

/* FAT Format Structure */
typedef struct  
{
  Uint16 nb_cylinder;
  Byte   nb_head;
  Byte   nb_sector;
  Byte   nb_hidden_sector;
  Byte   nb_sector_per_cluster;
} s_format;


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


#endif    /* _CONFIG_H_ */

⌨️ 快捷键说明

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