📄 jiemian.h
字号:
void shuxing()
{
u16 ii;
u8 DPT[16]; //储存DPT数据所用数组,一个分区表16字节
u8 BPB[90]; //储存BPB数据所用数组,DBR前90字节有效
u32 DBR; //计算DBR扇区
u32 DBRBye; //计算DBR扇区地址
u16 OneBlockBye; //计算一个扇区有几个字节的变量
u32 AnyMB; //计算总容量的变量
u8 Cluster; //计算一簇有几个扇区的变量
u16 Retain; //计算保留扇区
u32 Fat; //计算Fat表扇区
u32 OneFatBlock; //一个Fat表的扇区数
SD_ReadSingleBlock(0,buffer);
if(buffer[0]!=0xeb)
{
for(ii=0;ii<16;ii++)
{
DPT[ii]=buffer[446+ii];
}
if(DPT[0]==0x00)
{
Show_Str(79,86,"非启动分区",16,1);
}
DBR=DPT[11]<<24|DPT[10]<<16|DPT[9]<<8|DPT[8];
Show_Str(71,102,"DBR在",16,1);
LCD_ShowNum(111,102,DBR,3,16);
Show_Str(135,102,"扇区",16,1);
DBRBye=DBR*512;
}
else
{
DBR=0;
}
SD_ReadSingleBlock(DBRBye,buffer);
for(ii=0;ii<90;ii++)
{
BPB[ii]=buffer[ii];
}
OneBlockBye=BPB[12]<<8|BPB[11];
Show_Str(43,150,"一个扇区有",16,1);
LCD_ShowNum(123,150,OneBlockBye,3,16);
Show_Str(147,150,"个字节",16,1);
Cluster=BPB[13];
Show_Str(67,134,"一簇有",16,1);
LCD_ShowNum(115,134,Cluster,1,16);
Show_Str(123,134,"个扇区",16,1);
AnyMB=BPB[35]<<24|BPB[34]<<16|BPB[33]<<8|BPB[32];
AnyMB=AnyMB/2048;
Show_Str(67,118,"总容量:",16,1);
LCD_ShowNum(123,118,AnyMB,4,16);
LCD_ShowString(155,118,"MB");
Retain=BPB[15]<<8|BPB[14];
Fat=DBR+Retain;
OneFatBlock=BPB[39]<<24|BPB[38]<<16|BPB[37]<<8|BPB[36];
FirstBlock=OneFatBlock*2+Fat;
Show_Str(43,166,"根目录所在扇区:",16,1);
LCD_ShowNum(163,166,FirstBlock,4,16);
}
void beijing()
{
unsigned long j;
unsigned long i;
TFT_window(0,0,239,319);
for(i=0;i<300;i++)
{
SPI_Flash_Read(buffer,147048+i*512,512);
for(j=0;j<256;j++)
{
LCD_RAM=(buffer[j*2+1]<<8|buffer[j*2]);
}
}
}
void baocun(u16 x0,u16 y0,u16 x1,u16 y1,u8 *asd)
{
unsigned int x;
unsigned int y;
for(y=y0;y<y1;y++)
{
for(x=x0;x<x1;x++)
{
*asd=LCD_ReadPoint(x,y)&0x00ff;
asd++;
*asd=LCD_ReadPoint(x,y)>>8;
asd++;
}
}
}
void huanyuan(u16 x0,u16 y0,u16 x1,u16 y1,u8 *asd)
{
unsigned int x;
unsigned int y;
for(y=y0;y<y1;y++)
{
for(x=x0;x<x1;x++)
{
LCD_SetCursor(x,y);//设置光标位置
LCD_WriteRAM_Prepare;//开始写入GRAM
LCD_RAM=((*asd++)<<8|(*asd++));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -