資源簡介
STM32圖片解碼,240*320屏幕,解碼BMP是自己寫的,jpg用tjpgdec庫,gif用ucgui移植的

代碼片段和文件信息
#include?“exfat.h“
//顯示目錄下所有文件
u8?ShowFileList(u8*?dirPath)
{
u8?*pname; //帶路徑的文件名最終生成的文件名
char?*fn;??? //文件名(不帶目錄名稱)
u16?fileNameLength?=?0; //文件長度
u16?showPos?=?0; //當前顯示的坐標
FILINFO*?fileinfo?=?malloc(sizeof(FILINFO));//文件信息
DIR*?dir?=?malloc(sizeof(DIR));
#if?_USE_LFN//使能長文件名
? fileinfo->lfsize?=?_MAX_LFN?*?2?+?1;
fileinfo->lfname?=?malloc(fileinfo->lfsize);
#endif
pname?=?malloc(fileinfo->lfsize);//申請動態內存
//檢測動態內存是否申請成功任何一個失敗都不能繼續
if((pname?==?NULL)||(dir?==?NULL)||(fileinfo?==?NULL)||(fileinfo->lfname?==?NULL)?)
{
free(fileinfo);
free(dir);
free(fileinfo->lfname);
free(pname);
return?1;//失敗
}
sdCardFsResult?=?f_opendir(dir(const?TCHAR*)dirPath);?//打開一個目錄
if(sdCardFsResult?==?FR_OK)
{
while(1)//循環查找文件
{
sdCardFsResult?=?f_readdir(dir?fileinfo);???????????????????//讀取目錄下的一個文件
if?(sdCardFsResult?!=?FR_OK?||?fileinfo->fname[0]?==?0)?break;??//錯誤了/到末尾了退出
#if?_USE_LFN //根據是否使用長文件名來選擇一個文件
fn?=?*fileinfo->lfname???fileinfo->lfname?:?fileinfo->fname;
#else ???
fn?=?fileinfo.fname;
#endif
strcpy((char*)pname(const?TCHAR*)dirPath); //復制路徑(目錄)
strcat((char*)pname(const?char*)“\\“);?? //將文件名接在后面
strcat((char*)pname(const?char*)fn);?? //將文件名接在后面
fileNameLength?=?strlen((char*)pname);
Show_Str(0showPosLCD_X_SIZELCD_Y_SIZEpname120LCD_BLACK);
showPos?+=?12*(((fileNameLength*6)/234)+1);//每次顯示完成看還能加多少最多就能顯示一頁
if(showPos?>=?320)break;//超過最大長度結束循環
}
//關閉文件夾
f_closedir(dir);
//結束的時候要釋放內存
free(fileinfo);
free(dir);
free(fileinfo->lfname);
free(pname);
return?0;
}
else
{
free(fileinfo);
free(dir);
free(fileinfo->lfname);
free(pname);
return?1;//目錄打開失敗
}
}
//顯示目錄下所有文件從指定的起始位置開始顯示
//文件起始從1開始
u8?ShowFileListStart(u8*?dirPathu8?start)
{
u8?*pname; //帶路徑的文件名最終生成的文件名
char?*fn;??? //文件名(不帶目錄名稱)
u16?fileNameLength?=?0; //文件長度
u8?count?=?0; //遍歷文件計數器
u16?showPos?=?0; //當前顯示的坐標
FILINFO*?fileinfo?=?malloc(sizeof(FILINFO));//文件信息
DIR*?dir?=?malloc(sizeof(DIR));
#if?_USE_LFN//使能長文件名
? fileinfo->lfsize?=?_MAX_LFN?*?2?+?1;
fileinfo->lfname?=?malloc(fileinfo->lfsize);
#endif
pname?=?malloc(fileinfo->lfsize);//申請動態內存
//檢測動態內存是否申請成功任何一個失敗都不能繼續
if((pname?==?NULL)||(dir?==?NULL)||(fileinfo?==?NULL)||(fileinfo->lfname?==?NULL)?)
{
free(fileinfo);
free(dir);
free(fileinfo->lfname);
free(pname);
return?1;//失敗
}
sdCardFsResult?=?f_opendir(dir(const?TCHAR*)dirPath);?//打開一個目錄
if(sdCardFsResult?==?FR_OK)
{
while(1)//循環查找文件
{
sdCardFsResult?=?f_readdir(dir?fileinfo);???????????????????//讀取目錄下的一個文件
if?(sdCardFsResult?!=?FR_OK?||?fileinfo->fname[0]?==?0)?break;??//錯誤了/到末尾了退出
#if?_USE_LFN //根據是否使用長文件名來選擇一個文件
fn?=?*fileinfo->lfname???fileinfo->lfname?:?fileinfo->fname;
#else ???
fn?=?fileinfo.fname;
#endif
count++;
if(count?>=?start)
{
strcpy((char*)pname(const?TCHAR*)dir
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????7281??2015-03-24?14:01??picture\app\exfat.c
?????文件????????467??2015-03-24?11:09??picture\app\exfat.h
?????文件???????4406??2015-03-25?08:37??picture\app\fontupdate.c
?????文件????????682??2015-03-23?17:08??picture\app\fontupdate.h
?????文件????????559??2015-03-25?14:50??picture\app\malloc.c
?????文件????????430??2015-03-25?14:50??picture\app\malloc.h
?????文件???????8314??2015-03-24?17:38??picture\app\mp3_pla
?????文件????????458??2015-03-24?13:54??picture\app\mp3_pla
?????文件???????1144??2015-03-25?08:37??picture\app\usb_data_process.c
?????文件????????356??2015-03-21?21:43??picture\app\usb_data_process.h
?????文件??????20421??2012-04-26?22:22??picture\cmsis\core_cm3.c
?????文件??????86316??2012-04-26?22:40??picture\cmsis\core_cm3.h
?????文件??????15503??2015-03-24?17:09??picture\cmsis\startup_stm32f10x_hd.s
?????文件?????633963??2014-04-10?14:16??picture\cmsis\stm32f10x.h
?????文件??????36557??2014-04-10?14:16??picture\cmsis\system_stm32f10x.c
?????文件???????2085??2014-04-10?14:16??picture\cmsis\system_stm32f10x.h
?????文件????????248??2015-03-24?08:21??picture\command\commandConfig.h
?????文件???????1608??2015-03-03?13:14??picture\command\CommandCore.c
?????文件????????239??2015-03-02?15:31??picture\command\commandCore.h
?????文件????????739??2015-03-02?15:29??picture\command\commandFunc.c
?????文件????????177??2015-03-02?15:31??picture\command\commandFunc.h
?????文件????????260??2015-03-24?08:21??picture\command\commandInclude.h
?????文件????????243??2015-03-24?08:21??picture\command\commandList.c
?????文件????????327??2015-03-02?15:31??picture\command\commandList.h
?????文件??????11953??2015-03-02?15:13??picture\command\commandUtil.c
?????文件???????1438??2015-03-02?15:19??picture\command\commandUtil.h
?????文件????????819??2015-03-02?15:44??picture\command\使用說明.txt
?????文件????????752??2015-03-24?15:14??picture\device\audiosel.c
?????文件????????325??2015-02-27?15:35??picture\device\audiosel.h
?????文件??????16350??2015-03-03?14:06??picture\device\font.h
............此處省略403個文件信息
- 上一篇:simsun.ttf 宋體字體
- 下一篇:FCBU喜馬拉雅音頻批量器
評論
共有 條評論