ATmega128L單片機的MiCrOSD卡讀寫
2.4.1 文件的打開
在該文件系統中,要讀/寫一個文件必須先打開它,這里通過調用函數FAT_Open()實現,文件的打開可以用只讀、只寫、讀寫的方式打開。其中,以只讀的方式打開文件時,如果文件不存在,則打開文件錯誤;以只寫的方式打開文件,如果文件存在,則文件先被刪除然后再建立這個文件;以讀寫的方式打開文件與只寫方式不同,若文件存在,則不會被刪除而是直接打開,否則就和只寫方式一樣。下面以只寫方式打開文件為例:
首先,函數要查找空閑的打開文件登記項,如果沒有找到則不能打開文件,如果找到則記錄。然后,獲取文件的內部名稱及所在目錄的首簇號,判斷目錄是否存在。最后,獲?。篎DT登記項,判斷是否為目錄,刪除文件,添加FDT表項,修改打開文件的信息登記項,返回句柄。文件以只寫方式打開文件的流程如圖4所示。本文引用地址:http://www.j9360.com/article/173684.htm
2.4.2 文件的讀/寫
SD卡上文件都是以簇為單位存取的。讀SD卡上的文件,首先要在FAT初始化之前對SD卡初始化,將FAT中讀寫一個扇區指向SD卡中讀寫扇區函數,然后獲取文件所在邏輯盤的信息,計算數據所在扇區,讀取扇區中的數據,最后調整文件指針。
2.4.3 文件的刪除
刪除文件時,不涉及數據區的操作,只須在文件的目錄登記項上作一個刪除標記,并把文件在FAT表中所占用的簇標記為“空簇”。
結 語
本設計將Micro SD卡的存儲方式應用到電腦橫機控制系統中,簡化了花型文件數據存儲設計,減小了系統的尺寸,提高了系統的可靠性,使得花型文件的讀出和存取簡單易行,裁剪了FAT32實現了嵌入式文件系統,提高了系統的存儲能力。采用ATmegal28L高性能單片機的串行外設接口SPI,滿足訪問Micro SD卡的功能要求,加快了整個系統的設計進程。實踐證明,該文件系統讀取Mi―cro SD卡上花型文件的速度滿足該控制系統的要求。該嵌入式文件系統只需對底層驅動進行簡單修改就可移植到CF卡、閃存等其他的存儲介質上。
評論