有无大佬可以指导一下以下代码的含义和流程吗
{
delay_ms(100);
OLED_ShowString(45,1," ",1,0);
OLED_ShowString(45,2," ",1,0);
while(!FLASH_SWD("write.bin"))
{
u8 WaitTips[] = "...";
OLED_ShowString(45,1," ",1,0);
OLED_ShowString(45,2,"WAIT",1,1);
for(i=0;i<3;i++){
OLED_ShowChar(69+i*6,2,WaitTips[i],1); //在指定位置显示一个字符
delay_ms(200);
}
OLED_ShowString(45,2," ",1,1);
}
f_unlink("0:/write.bin"); /* 删除现有文件或目录 */
OLED_ShowString(98,2,"BACK",1,1);
select = 0;
while(1)
{
if(Scan_Key() == 1){
select ++;
if(select == 1) {
OLED_ShowString(98,2," ",1,1);
OLED_ShowString(98,2,"BACK",0,1);
}
else{
OLED_ShowString(98,2," ",1,1);
OLED_ShowString(98,2,"BACK",1,1);
}
if(select == 2) select = 0;
}
if(Scan_Key() == 2){
if(select == 1) break;
}
}
OLED_Clear();
OLED_DrawBMP(0,0,33,33,FlashLogo);
if(f_opendir(&DirInfo,(const TCHAR*)"0:") == FR_OK)/* 打开文件夹目录成功,目录信息已经在dir结构体中保存 */
{
if(f_readdir(&DirInfo, &FileInfo) == FR_OK) /* 读文件信息到文件状态结构体中 */
{
f_readdir(&DirInfo, &FileInfo);
OLED_ShowString(45,1,FileInfo.fname,1,1);
}
}
OLED_ShowString(45,-1,"SELECT HEX",1,0);
OLED_ShowString(45,0,"----------",1,0);
OLED_ShowString(110,1,">>",1,1);
OLED_ShowString(92,2,"FLASH",1,1);
select = 0;
}
}
}