整理開(kāi)發(fā)過(guò)程中的筆記,希望對(duì)剛剛開(kāi)始做U盤(pán)的朋友有所幫助。 對(duì)于U盤(pán)可以采取兩種方式:1.把U盤(pán)當(dāng)作一個(gè)打的RAM這種方法不需要分析復(fù)雜的FAT格式。提起這種說(shuō)法,很
多同仁不屑。我覺(jué)得不然,所謂 “簡(jiǎn)單就是科學(xué)”往往最簡(jiǎn)單,最直接的東西是最好的東西也是最可靠的東西
。如果您只需要將數(shù)據(jù)存儲(chǔ)到U盤(pán),然后把U盤(pán)拿到計(jì)算機(jī)上分析數(shù)據(jù)的化。完全可以采取這種思路。就是把硬
件都接好,卻定好需要的空間,分配好地址。單片機(jī)把需要存儲(chǔ)的數(shù)據(jù)寫(xiě)入到相應(yīng)的地址,這樣U盤(pán)也就是一個(gè) 大的RAM了。對(duì)于數(shù)據(jù)的讀出,將串口接到計(jì)算機(jī)的RS232上,單片機(jī)將U盤(pán)的固定地址的數(shù)據(jù)依次讀出來(lái),發(fā)送 到串口上就可以。這樣,U盤(pán)和外部RAM的區(qū)別就是讀寫(xiě)單位是一個(gè)簇(容量比較小的U盤(pán)一個(gè)扇區(qū)就是一個(gè)簇)
。2.分析FAT格式.在進(jìn)行讀寫(xiě)U盤(pán)之前,先不要急著調(diào)試程序。要緊的是了解U盤(pán)的結(jié)構(gòu)。其實(shí)U盤(pán)也就是 一塊硬盤(pán),只不過(guò)容量比較小。U盤(pán)的FAT表,F(xiàn)DT表和目錄登記項(xiàng)與硬盤(pán)的結(jié)構(gòu)完全一樣。所以,如果您不了解 硬盤(pán)的結(jié)構(gòu),就試圖讀寫(xiě)成功是不可能的。在此我向大家推薦一本書(shū)《硬盤(pán)扇區(qū)讀寫(xiě)技術(shù)》宋群生 主編的。 這本書(shū)里面詳細(xì)的介紹了,硬盤(pán)的FAT表 FDT表 他們的具體參數(shù)的內(nèi)容以及,他們?cè)赨盤(pán)中的分布位置。 并且針對(duì)FAT16 FAT32分區(qū)格式的硬盤(pán)做了具體的分析。 如需交流:www.jnyldz.com 郵件:個(gè)人信息保護(hù),已隱藏 。 3.單片機(jī)讀寫(xiě)U盤(pán)的文件系統(tǒng)。對(duì)于FAT格式的文件系統(tǒng)的功能是強(qiáng)大的。但是我覺(jué)得對(duì)于單片機(jī)這個(gè)小小的芯
片,并且是沒(méi)有移植操作系統(tǒng)的單片機(jī)系統(tǒng)來(lái)說(shuō),取其關(guān)鍵就足矣。對(duì)于單片機(jī)系統(tǒng)來(lái)說(shuō)約簡(jiǎn)單越好。在計(jì)算
機(jī)上,在WINDOWS下進(jìn)行文件系統(tǒng)是很簡(jiǎn)單的。但是對(duì)于單片機(jī)難度就太大了,就象一條鯨游從大海入了一條小
河,想讓他在河里靈活自如的游動(dòng)是不可能的。那怎么辦,減肥。是的,去掉文件系統(tǒng)多余的部分取其精華。 當(dāng)然文件系統(tǒng),是肯定少不了FAT FDT表的。這也是FAT格式的關(guān)鍵之所在。找到這兩個(gè)表,進(jìn)行分析,取出 需要的關(guān)鍵字節(jié),進(jìn)行運(yùn)算,根據(jù)簇鏈尋址的原理就可以靈活的讀寫(xiě)U盤(pán)。 以上是本人在開(kāi)發(fā)讀寫(xiě)U盤(pán)過(guò)程中的一點(diǎn)心得,有不對(duì)的地方,希望大家筆下留情。