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

📄 comm.h

📁 ARM7 lpc2132+vs1003+sdcard 制作的 MP3 此程序在ADS1.2环境下编译
💻 H
字号:
/****************************************Copyright (c)**************************************************
**                                 上海新时达电气有限公司
**                                     研  发  中  心
**                                        研发一部 
**
**                                 http://www.stepelevatar.com
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: comm.h
**创   建   人: 吕海安
**最后修改日期: 2007年07月04日
**描        述: MP3 程序的数据结构头文件
**              
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 吕海安
** 版  本: v1.0
** 日 期: 2007年07月04日
** 描 述: 原始版本
**
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
** 描 述: 
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/


#ifndef	__COMM__H
#define	__COMM__H

#define INT8U  unsigned char
#define INT16U unsigned short
#define INT32U unsigned long
#define BOOL   unsigned char

#define INT8S  char
#define INT16S short
#define INT32S long

#define TRUE    1
#define FALSE   0 
     extern INT8U LcdFlag;
#define  bUpdate1   (1 << 0)  //LCD第一行更新标志
#define  bUpdate2   (1 << 1)
#define  bUpdate3   (1 << 2)
#define  bUpdate4   (1 << 3) //LCD第四行更新标志   
	extern INT8U BUFFER[512]; 
	extern INT8U DispBuff[6][84];   
	extern INT8U InverseLine;   //反色显示的行(1-4)
    extern INT16U BytesPerSector;
	extern INT16U SectorsPerCluster;     
	extern INT8U WorkFlag;
	extern INT8U vol;


#define   bReadOvr  (1 << 0)   //读文件完成
#define   bPlayOvr  (1 << 1)   //放音完成
#define   bPause    (1 << 2)   //暂停
#define   bStop     (1 << 3)   //停止放音
#define   bDatRdy   (1 << 4)   //数据准备   
#define   bHzk12    (1 << 5)   //1:存在hzk 
#define   bLrc      (1 << 6)   //1:存在歌词文件
#define   bUnicode  (1 << 7)   //存在代码转换表


extern INT8U KeyVal;

#define   kNull      0
#define   kVolUp     1
#define   kVolDown   2
#define   kPlay      3
#define   kNext      4
#define   kPrev      5 
#define   kStop      6
#define   kVolUpHold   0x11
#define   kVolDownHold 0x12
#define   kPlayHold    0x13
#define   kNextHold    0x14
#define   kPrevHold    0x15 
#define   kStopHold    0x16

//eeprom地址(0x00-0x4a)用于记录汉字库及编码表文件的扇区号及连续扇区数量的信息
#define  kHzkClustTbl  0x00  //汉字库存放簇表结构如下(首簇扇区号4byte+连续的簇号个数1byte ...)
#define  kUniClustTbl  0x32  //编码文件存放簇表
#define  kEepFlag      0X4b
#define  kEepVol       0X4c
//-------------------------------------
   

extern  INT8U TimeFlag;  
	
#define   bT1S        (1 << 0)
#define   bT32MS      (1 << 3) 
#define   bTkey       (1 << 4) 
#define   bLcdUpdate  (1 << 1)
#define   bRtcUpdate  (1 << 2) 

typedef struct{
	INT8U *pStr; //指向显示的字符串 
	INT8U y;
}LCD_DISP;    

typedef struct{
     INT16U year;
	 INT8U  month;
	 INT8U  day;
	 INT8U  hour;
	 INT8U  min;
	 INT8U  sec;
}TIME;
extern  INT8U D_x,D_y;
extern LCD_DISP lcd[4];
typedef struct{ 
	INT8U first;   
	INT16U  t_sec;     //暂存歌词的时间(秒)
	INT8U t_ms;        //保存32MS计数脉冲
    INT32U Clust;      //歌词文件的当前簇号
    INT8U  so;         //缓冲区内的偏移(0-7)         
    INT8U  sl;         //簇内扇区偏移(0 -- (SectorsPerCluster-1))
    INT16U   wl;         //扇内偏移(0-511)   
    //当前文件指针  (fatClustToSect(Clust)+sl)*512+wl*32
    INT16U  filelen;    //歌词文件的余下的长度
}LYRIC_STRUCT;

typedef union{
	 INT32U   Sector;    //FAT12&FAT16有效
	 INT32U   Clust;     //FAT32时有效
}ROOTDIR_INF;

extern ROOTDIR_INF RootDir; 

typedef  struct{
    INT8U ShortName[12];	
    INT8U LongName[40];
    INT32U Clust;   //内容的首簇 
    INT32U FileLen;  //文件长度
    INT8U Type;    //文件类型(0:目录.1:MP3 2: WMA 3: MID  4:WAV)
}MENU_CONECT;  

extern  MENU_CONECT  m_c[4];
	
typedef struct{
	INT32U Clust; //当前目录的簇号
	INT16U Nums;   //仅FAT12—FAT16中的根目录区有效
	INT8U Index;  //当前的BLOCK中目录项索引
	INT32U Sector; //当前目录所在的扇区号
	INT8U NumSector;
}FIND_FILE_INFO;	

extern FIND_FILE_INFO	FindInfo;  
extern	LYRIC_STRUCT  lyric;


#endif

/*****************************************************************************************
*                                   END OF FILE
*****************************************************************************************/

⌨️ 快捷键说明

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