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

📄 bmpinf.h

📁 在基于avr内核的单片机上实现MP3播放器的功能
💻 H
字号:

#define uart_debug_Dir_play_next  0
//=====================
   typedef struct {
uint32  biSize; /* 本结构所占用字节数  */
uint32   biWidth; /* 位图的宽度,以像素为单位  */
uint32    biHeight; /* 位图的高度,以像素为单位   */
uint16    biPlanes; /*目标设备的级别,必须为1    */
uint16    biBitCount;/*每个像素所需的位数,必须是1(双色),
 4(16色),8(256色)或24(真彩色)之一   */
uint32    biCompression;
 /*位图压缩类型,必须是 0(不压缩) 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一*/
uint32  biSizeImage; /* 位图的大小,以字节为单位  */
uint32    biXPelsPerMeter; /* 位图水平分辨率,每米像素数 */
uint32    biYPelsPerMeter; /* 位图垂直分辨率,每米像素数 */
uint32  biClrUsed;/* 位图实际使用的颜色表中的颜色数  */
uint32  biClrImportant;/* 位图显示过程中重要的颜色数  */
} BITMAPINFOHEADER;

 typedef struct {
uint8   rgbBlue;/*蓝色的亮度(值范围为0-255)    */
uint8   rgbGreen; /* 绿色的亮度(值范围为0-255)  */
uint8   rgbRed; /* 红色的亮度(值范围为0-255)   */
uint8   rgbReserved;/* 保留,必须为0       */
} RGBQUAD;
/*颜色表中RGBQUAD结构数据的个数有biBitCount来确定:
当biBitCount=1,4,8时,分别有2,16,256个表项;
当biBitCount=24时,没有颜色表项     */

typedef struct
{
uint16  bfType; /*位图文件的类型,必须为BM*/
uint32  bfSize; /* 位图文件的大小,以字节为单位*/
uint16  bfReserved1; /*位图文件保留字,必须为0  */
uint16  bfReserved2; /*位图文件保留字,必须为0  */
uint32  bfOffBits; /* 位图数据的起始位置,以相对于位图  */
/*文件头的偏移量表示,以字节为单位 */

BITMAPINFOHEADER bitmapinf;
RGBQUAD        rgbinf;
} BITMAPFILEHEADER;   /*54byte*/

typedef struct
{
DATA_POSIT DirPosit;
uint32 BmpSize;
uint32 BmpOffBits;
uint32   BiWidth;
int32    BiHeight;
} BMPFILEHANDLE;   /*54byte*/

BMPFILEHANDLE BmpFileHd={{dir_org_clusId,0,0,ok},0,54,128,-128};
//读取BMP数据结构
void ReadBmpInf(uint8 * inf)
//********************************************************************************************
{ 
	BITMAPFILEHEADER* BmpTP = (BITMAPFILEHEADER*)inf; //1
	
	//获取参数
	 BmpFileHd.BmpSize=BmpTP->bfSize;
	 BmpFileHd.BmpOffBits=BmpTP->bfOffBits;
	 BmpFileHd.BiWidth=BmpTP->bitmapinf.biWidth;
     BmpFileHd.BiHeight=abs(BmpTP->bitmapinf.biHeight);
	
	
}
//==============
//======================

DATA_POSIT get_Same_FileType_posit(DATA_POSIT  data_posit_tp,uint8 * FileType);
FILE_HANDLE GetDirFilehd(DATA_POSIT * dir_posit);
//==============================
void rst_Dirhd(DATA_POSIT * dir_posit)
{dir_posit->ClusID=dir_org_clusId;
dir_posit->SecOfClus=0;
dir_posit->ByteOfSec=0;
}



/*======================================
功    能:获得和文件类型对应的目录项的data_posit地址
代入参数

⌨️ 快捷键说明

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