第20章 SD卡與znFAT文件系統 1 電路圖 2 程序移植 3 znFAT文件系統介紹
7.jpg (3.7 KB, 下載次數: 200)
下載附件
2016-3-29 01:59 上傳
8.jpg (3.33 KB, 下載次數: 165)
下載附件
2016-3-29 01:59 上傳
9.jpg (13.02 KB, 下載次數: 167)
下載附件
2016-3-29 01:59 上傳
10.jpg (8.99 KB, 下載次數: 175)
下載附件
2016-3-29 01:59 上傳
1.jpg (11.22 KB, 下載次數: 168)
下載附件
2016-3-29 01:59 上傳
5.jpg (8.61 KB, 下載次數: 201)
下載附件
2016-3-29 01:59 上傳
6.jpg (7.35 KB, 下載次數: 151)
下載附件
2016-3-29 01:59 上傳
SD卡廣泛運用在手機、數碼相機中,本章帶領大家入門。
TF卡比標準SD卡(如數碼相機上使用的SD卡)在外形上更加小巧,通過SD轉接卡也可當 作標準SD卡使用,TF卡主要用在手機上,其容量從128MB到32GB各種規格齊全, TF卡與 標準SD卡僅僅是封裝上的不同,它們的傳輸協議是完全相同的。 SDHC是表示“高容量SD存儲卡”,SD 2.0系統規定SDHC是容量大于2GB小于等于32GB的SD 卡,傳輸速度被定義為Class2(2MB/sec)、Class4(4MB/sec)、Class6(6MB/sec)等級別, 并且在卡片上必須有SDHC標志和速度等級標志,符合SDHC標準的TF卡如下圖左所示
11.jpg (18.48 KB, 下載次數: 178)
下載附件
2016-3-29 01:59 上傳
(class4是市場上用得最普遍的速度等級),另外,SD協會規定SDHC必須采用FAT32 文 件系統,這是因為之前在SD卡中使用的FAT16文件系統所支持的最大容量為2GB,并不能 滿足SDHC的要求。
2.jpg (11.84 KB, 下載次數: 169)
下載附件
2016-3-29 01:59 上傳
1 電路圖
0.png (65.75 KB, 下載次數: 187)
下載附件
2016-3-29 01:42 上傳
SD卡的讀寫程序可直接使用成熟的程序包,一般不需要對程序包進行修改。 例20.1 SD卡扇區讀寫驅動測試,要求單片機上電后讀取SD卡總容量并將結果通過串口發送 到計算機,R/C時鐘:22.1184MHz,波特率9600,計算機串口助手使用字符格式顯示,單片 機讀取SD卡總容量后對一個程序指定的扇區地址進行數據寫入與讀出,并驗證寫入與讀出數 據是否完全相符,同時把驗證結果發送給計算機串口助手進行顯示。 主程序代碼如下: // SD卡的扇區讀寫測試,可以支持MMC+SD1.0+SD2.0(SD與SDHC)。 #include "sd.h" #include "uart.h" void main() { int i=0,res=0; // res 用于存放函數返回值 unsigned long sec=0; // sec 用于存放函數返回的扇區總數 port_mode(); // 所有IO口設為準雙向弱上拉方式。 UART_Init(); // 波特率:9600 /22.1184MHZ UART_Send_Str("串口設置完畢"); res=SD_Init(); UART_Send_StrNum("SD卡初始化完畢:",res); sec=SD_GetTotalSec(); UART_Send_StrNum("總扇區:",sec); // 總容量=總扇區*512字節 UART_Send_StrNum("總容量(M):",sec>>11); // sec>>11表示:總容量(字節)/1024/1024=兆字節 for(i=0;i<512;i++) pbuf[ i]=i; // 清空測試緩沖區 res=SD_Write_Sector(1000,pbuf); // 512*1000=512千字節,表明可測試小至1M的卡 UART_Send_StrNum("SD卡寫扇區完成:",res); for(i=0;i<512;i++) pbuf[ i]=0; // 清空測試緩沖區 res=SD_Read_Sector(1000,pbuf); UART_Send_StrNum("SD卡讀扇區完成:",res); res=0; for(i=0;i<512;i++) if(pbuf[ i]!=((unsigned char)i)) res=1; if(res) UART_Send_Str("SD卡讀寫有錯"); else UART_Send_Str("SD卡OK"); while(1); } 程序運行結果如下圖所示。
3.jpg (41.75 KB, 下載次數: 241)
下載附件
2016-3-29 01:59 上傳
3 znFAT文件系統介紹 有了前面的驅動程序,我們已經可以使用SD卡來存儲程序運行過程中的重要數據 了,由于SD卡存儲容量很大,即使每次使用1個不同的扇區(512字節),也有足 夠的空間來存儲數據,但有一個問題,通過前面的驅動程序直接寫入到SD卡的數 據無法直接在計算機上顯示,在計算機上寫入到SD卡中的數據也無法使用前面的 驅動程序直接讀取出來,為解決這個問題,需要在前面驅動程序的基礎上加入文 件系統,讓單片機對文件的操作與計算機對文件的操作相兼容,在8位單片機上 方便使用的文件系統是znFAT,znFAT與存儲設備的關系如圖所示。
4.jpg (40.68 KB, 下載次數: 162)
下載附件
2016-3-29 01:59 上傳
0.png (28.38 KB, 下載次數: 186)
下載附件
2016-3-29 01:49 上傳
51單片機驅動sd卡上面壓縮包所有程序下載:
第20章 SD卡.rar
(11.3 MB, 下載次數: 374)
2016-3-29 01:54 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|