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

📄 comm.h

📁 用atmega64+vs1003(音频解码芯片)+SD制成的板子
💻 H
字号:
#ifndef	__COMM__H
#define	__COMM__H
#define uint8 unsigned char
#define uint16 unsigned int
#define uint32 unsigned long 
#define uchar  unsigned char
#define uint   unsigned int
#define ulong  unsigned long
#define BOOL   unsigned char
#define TRUE    1
#define FALSE   0 
    extern uchar LcdFlag;
#define  bUpdate1   _BV(0)  //LCD第一行更新标志
#define  bUpdate2   _BV(1)
#define  bUpdate3   _BV(2)
#define  bUpdate4   _BV(3) //LCD第四行更新标志   
	extern uchar BUFFER[512]; 
	extern uchar DispBuff[6][84];   
	extern uchar InverseLine;   //反色显示的行(1-4)
  extern uint  BytesPerSector;
	extern uint  SectorsPerCluster;     
	extern uchar WorkFlag;
	extern uchar vol;


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


	extern uchar 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

   

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

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

typedef struct{
     uint   year;
	 uchar  month;
	 uchar  day;
	 uchar  hour;
	 uchar  min;
	 uchar  sec;
}TIME;
extern  uchar D_x,D_y;
extern LCD_DISP lcd[4];
typedef struct{ 
	uchar first;   
	uint  t_sec;       //暂存歌词的时间(秒)
	uchar t_ms;        //保存32MS计数脉冲
    ulong Clust;      //歌词文件的当前簇号
    uchar  so;         //缓冲区内的偏移(0-7)         
    uchar  sl;         //簇内扇区偏移(0 -- (SectorsPerCluster-1))
    uint   wl;         //扇内偏移(0-15)   
    //当前文件指针  (fatClustToSect(Clust)+sl)*512+wl*32
    uint  filelen;    //歌词文件的余下的长度
}LYRIC_STRUCT;
typedef union{
	 ulong   Sector;    //FAT12&FAT16有效
	 ulong   Clust;     //FAT32时有效
}ROOTDIR_INF;
	extern ROOTDIR_INF RootDir; 
typedef  struct{
		 unsigned  char ShortName[12];	
     unsigned  char LongName[40];
     unsigned  long Clust;   //内容的首簇 
     unsigned  long FileLen;  //文件长度
     unsigned  char Type;    //文件类型(0:目录.1:MP3 2: WMA 3: MID  4:WAV)
}MENU_CONECT;  
  extern  MENU_CONECT  m_c[4];
	
typedef struct{
	unsigned long Clust; //当前目录的簇号
	unsigned int  Nums;   //仅FAT12—FAT16中的根目录区有效
	unsigned char Index;  //当前的BLOCK中目录项索引
	unsigned long Sector; //当前目录所在的扇区号
	unsigned char NumSector;

}FIND_FILE_INFO;	
extern FIND_FILE_INFO	FindInfo;  
extern	LYRIC_STRUCT  lyric;
#endif

⌨️ 快捷键说明

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