新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ATmega128L單片機(jī)的MiCrOSD卡讀寫

ATmega128L單片機(jī)的MiCrOSD卡讀寫

作者: 時(shí)間:2009-06-30 來源:網(wǎng)絡(luò) 收藏

2.4.1 文件的打開
在該文件系統(tǒng)中,要讀/寫一個(gè)文件必須先打開它,這里通過調(diào)用函數(shù)FAT_Open()實(shí)現(xiàn),文件的打開可以用只讀、只寫、的方式打開。其中,以只讀的方式打開文件時(shí),如果文件不存在,則打開文件錯(cuò)誤;以只寫的方式打開文件,如果文件存在,則文件先被刪除然后再建立這個(gè)文件;以的方式打開文件與只寫方式不同,若文件存在,則不會(huì)被刪除而是直接打開,否則就和只寫方式一樣。下面以只寫方式打開文件為例:
首先,函數(shù)要查找空閑的打開文件登記項(xiàng),如果沒有找到則不能打開文件,如果找到則記錄。然后,獲取文件的內(nèi)部名稱及所在目錄的首簇號,判斷目錄是否存在。最后,獲?。篎DT登記項(xiàng),判斷是否為目錄,刪除文件,添加FDT表項(xiàng),修改打開文件的信息登記項(xiàng),返回句柄。文件以只寫方式打開文件的流程如圖4所示。

本文引用地址:http://butianyuan.cn/article/173684.htm

2.4.2 文件的讀/寫
SD卡上文件都是以簇為單位存取的。讀SD卡上的文件,首先要在FAT初始化之前對SD卡初始化,將FAT中一個(gè)扇區(qū)指向SD卡中讀寫扇區(qū)函數(shù),然后獲取文件所在邏輯盤的信息,計(jì)算數(shù)據(jù)所在扇區(qū),讀取扇區(qū)中的數(shù)據(jù),最后調(diào)整文件指針。


2.4.3 文件的刪除
刪除文件時(shí),不涉及數(shù)據(jù)區(qū)的操作,只須在文件的目錄登記項(xiàng)上作一個(gè)刪除標(biāo)記,并把文件在FAT表中所占用的簇標(biāo)記為“空簇”。


結(jié) 語
本設(shè)計(jì)將Micro SD卡的存儲(chǔ)方式應(yīng)用到電腦橫機(jī)控制系統(tǒng)中,簡化了花型文件數(shù)據(jù)存儲(chǔ)設(shè)計(jì),減小了系統(tǒng)的尺寸,提高了系統(tǒng)的可靠性,使得花型文件的讀出和存取簡單易行,裁剪了FAT32實(shí)現(xiàn)了嵌入式文件系統(tǒng),提高了系統(tǒng)的存儲(chǔ)能力。采用ATmegal28L高性能的串行外設(shè)接口SPI,滿足訪問Micro SD卡的功能要求,加快了整個(gè)系統(tǒng)的設(shè)計(jì)進(jìn)程。實(shí)踐證明,該文件系統(tǒng)讀取Mi―cro SD卡上花型文件的速度滿足該控制系統(tǒng)的要求。該嵌入式文件系統(tǒng)只需對底層驅(qū)動(dòng)進(jìn)行簡單修改就可移植到CF卡、閃存等其他的存儲(chǔ)介質(zhì)上。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉