簡(jiǎn)易數(shù)碼相框與電子書(shū)閱讀器的設(shè)計(jì)
2 軟件系統(tǒng)設(shè)計(jì)
2.1 軟件總體設(shè)計(jì)
開(kāi)機(jī)進(jìn)入用戶(hù)選擇模式,選擇bmp圖片瀏覽或是txt文檔閱讀。圖片瀏覽支持幻燈片自動(dòng)顯示和手動(dòng)顯示2個(gè)方式,txt文檔只能手動(dòng)操作向上、向下翻頁(yè),手動(dòng)操作根據(jù)觸摸屏坐標(biāo)的位置確定是往回翻頁(yè)還是向下翻頁(yè)。具體實(shí)現(xiàn)過(guò)程在Keil軟件中編寫(xiě)C語(yǔ)言程序來(lái)實(shí)現(xiàn)。程序總體設(shè)計(jì)流程圖如圖3所示。本文引用地址:http://butianyuan.cn/article/201610/306030.htm
2.2 FAT32文件系統(tǒng)
當(dāng)文件放入SD卡中,它在SD卡中的存儲(chǔ)方式,以及對(duì)存入文件的尋址與讀取,都是由文件系統(tǒng)來(lái)完成的,文件系統(tǒng)就是用來(lái)負(fù)責(zé)管理和存儲(chǔ)文件信息的軟件機(jī)構(gòu)。具體地說(shuō),它負(fù)責(zé)為用戶(hù)建立文件,存入、讀出、修改、轉(zhuǎn)儲(chǔ)文件,控制文件的存取,當(dāng)用戶(hù)不再使用時(shí)撤銷(xiāo)文件等。不同的操作系統(tǒng)有不同的文件系統(tǒng),常用的文件系統(tǒng)有FAT16/FAT32/NTFS等類(lèi)型。本設(shè)計(jì)中采用的是FAT32系統(tǒng)文件,下面對(duì)FAT32進(jìn)行簡(jiǎn)要說(shuō)明。
FAT32文件系統(tǒng)的結(jié)構(gòu)主要由3部分組成:保留區(qū)、FAT區(qū)、數(shù)據(jù)區(qū)。其中保留區(qū)包含主引導(dǎo)區(qū)(MBR)和操作系統(tǒng)引導(dǎo)記錄(DBR),主引導(dǎo)區(qū)位于磁盤(pán)的第一扇區(qū),通過(guò)它可以找到引導(dǎo)記錄的地址。DBR中記錄了文件系統(tǒng)的一些重要信息,如每扇區(qū)字節(jié)數(shù)、每簇扇區(qū)數(shù)、FAT表個(gè)數(shù)、文件系統(tǒng)大小(扇區(qū)數(shù))、根目錄起始簇號(hào)等信息,這些信息對(duì)于在SD卡中存儲(chǔ)和查找文件至關(guān)重要。位于保留區(qū)后的是FAT區(qū),它是由2個(gè)完全相同的FAT表組成,F(xiàn)AT表有2個(gè)重要作用:描述簇的分配狀態(tài)以及標(biāo)明文件或目錄的下一簇的簇號(hào)。數(shù)據(jù)區(qū)緊跟在FAT2之后,被劃分成一個(gè)個(gè)的簇,是真正用于存放用戶(hù)數(shù)據(jù)的區(qū)域。FAT32文件系統(tǒng)的磁盤(pán)數(shù)據(jù)組織格式如表1所示。
在軟件實(shí)現(xiàn)方面,文件系統(tǒng)部分主要由以下3個(gè)函數(shù)組成:初始化函數(shù)void InitFat()、查找指定文件個(gè)數(shù)函數(shù)unsigned int Stat File Num()、查找索引文件函數(shù)unsigned char SearchFile(unsigned long int entry,unsigned int index,chat*type,unsigned char*buf,F(xiàn)ILE*pfile)。初始化函數(shù)主要是讀主引導(dǎo)扇區(qū)和引導(dǎo)扇區(qū),獲取該分區(qū)文件系統(tǒng)每簇扇區(qū)數(shù)、文件分配表的大小、保留扇區(qū)數(shù)以及數(shù)據(jù)區(qū)的起始地址等信息。查找文件個(gè)數(shù)函數(shù)是根據(jù)初始化函數(shù)中所得到的文件系統(tǒng)的信息,獲得所要查找文件類(lèi)型的個(gè)數(shù)。查找索引文件函數(shù)是查找指定入口的指定類(lèi)型的文件,查找時(shí)以index為索引,如index=5,即是要查找指定類(lèi)型文件的第5個(gè)文件,函數(shù)可以寫(xiě)成如下形式:Search File(2,5,“bmp”,SectorBuf,TmpFile);(2表示從第2簇開(kāi)始查找,5表示查找第5個(gè)文件,“bmp”表示要查找的文件類(lèi)型,SectorBuf是一個(gè)數(shù)組,臨時(shí)存放查找的文件信息,TmpFile是一個(gè)結(jié)構(gòu)體存放查找的文件具體信息)。
評(píng)論