久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 19221|回復(fù): 19
打印 上一主題 下一主題
收起左側(cè)

第20章 單片機(jī)驅(qū)動SD卡與znFAT文件系統(tǒng)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
51單片機(jī)輕松入門—基于STC15W4K系列(C語言版)
李友全
編著 詳見:http://www.zg4o1577.cn/bbs/dpj-37954-1.html

20SD卡與znFAT文件系統(tǒng)
1 電路圖
2 程序移植
3 znFAT文件系統(tǒng)介紹

SD卡廣泛運(yùn)用在手機(jī)、數(shù)碼相機(jī)中,本章帶領(lǐng)大家入門。

TF卡比標(biāo)準(zhǔn)SD卡(如數(shù)碼相機(jī)上使用的SD卡)在外形上更加小巧,通過SD轉(zhuǎn)接卡也可當(dāng)

作標(biāo)準(zhǔn)SD卡使用,TF卡主要用在手機(jī)上,其容量從128MB到32GB各種規(guī)格齊全, TF卡與 標(biāo)準(zhǔn)SD卡僅僅是封裝上的不同,它們的傳輸協(xié)議是完全相同的。 SDHC是表示“高容量SD存儲卡”,SD 2.0系統(tǒng)規(guī)定SDHC是容量大于2GB小于等于32GB的SD 卡,傳輸速度被定義為Class2(2MB/sec)、Class4(4MB/sec)、Class6(6MB/sec)等級別, 并且在卡片上必須有SDHC標(biāo)志和速度等級標(biāo)志,符合SDHC標(biāo)準(zhǔn)的TF卡如下圖左所示

(class4是市場上用得最普遍的速度等級),另外,SD協(xié)會規(guī)定SDHC必須采用FAT32 文 件系統(tǒng),這是因?yàn)橹霸赟D卡中使用的FAT16文件系統(tǒng)所支持的最大容量為2GB,并不能 滿足SDHC的要求。

1 電路圖


2 程序移植

SD卡的讀寫程序可直接使用成熟的程序包,一般不需要對程序包進(jìn)行修改。

例20.1 SD卡扇區(qū)讀寫驅(qū)動測試,要求單片機(jī)上電后讀取SD卡總?cè)萘坎⒔Y(jié)果通過串口發(fā)送 到計(jì)算機(jī),R/C時(shí)鐘:22.1184MHz,波特率9600,計(jì)算機(jī)串口助手使用字符格式顯示,單片 機(jī)讀取SD卡總?cè)萘亢髮σ粋(gè)程序指定的扇區(qū)地址進(jìn)行數(shù)據(jù)寫入與讀出,并驗(yàn)證寫入與讀出數(shù) 據(jù)是否完全相符,同時(shí)把驗(yàn)證結(jié)果發(fā)送給計(jì)算機(jī)串口助手進(jìn)行顯示。

主程序代碼如下:

// SD卡的扇區(qū)讀寫測試,可以支持MMC+SD1.0+SD2.0(SD與SDHC)。
#include "sd.h"
#include "uart.h" void main()
{
int i=0,res=0; // res 用于存放函數(shù)返回值
unsigned long sec=0; // sec 用于存放函數(shù)返回的扇區(qū)總數(shù) port_mode(); // 所有IO口設(shè)為準(zhǔn)雙向弱上拉方式。 UART_Init(); // 波特率:9600 /22.1184MHZ
UART_Send_Str("串口設(shè)置完畢");
res=SD_Init(); UART_Send_StrNum("SD卡初始化完畢:",res);
sec=SD_GetTotalSec();
UART_Send_StrNum("總扇區(qū):",sec); // 總?cè)萘?總扇區(qū)*512字節(jié) UART_Send_StrNum("總?cè)萘?M):",sec>>11);
// sec>>11表示:總?cè)萘浚ㄗ止?jié))/1024/1024=兆字節(jié)

for(i=0;i<512;i++) pbuf[ i]=i; // 清空測試緩沖區(qū)

res=SD_Write_Sector(1000,pbuf);

// 512*1000=512千字節(jié),表明可測試小至1M的卡 UART_Send_StrNum("SD卡寫扇區(qū)完成:",res);

for(i=0;i<512;i++) pbuf[ i]=0; // 清空測試緩沖區(qū)

res=SD_Read_Sector(1000,pbuf); UART_Send_StrNum("SD卡讀扇區(qū)完成:",res);

res=0;

for(i=0;i<512;i++) if(pbuf[ i]!=((unsigned char)i)) res=1;
if(res) UART_Send_Str("SD卡讀寫有錯(cuò)");
else UART_Send_Str("SD卡OK");
while(1);
}
程序運(yùn)行結(jié)果如下圖所示。

3 znFAT文件系統(tǒng)介紹

有了前面的驅(qū)動程序,我們已經(jīng)可以使用SD卡來存儲程序運(yùn)行過程中的重要數(shù)據(jù) 了,由于SD卡存儲容量很大,即使每次使用1個(gè)不同的扇區(qū)(512字節(jié)),也有足 夠的空間來存儲數(shù)據(jù),但有一個(gè)問題,通過前面的驅(qū)動程序直接寫入到SD卡的數(shù) 據(jù)無法直接在計(jì)算機(jī)上顯示,在計(jì)算機(jī)上寫入到SD卡中的數(shù)據(jù)也無法使用前面的 驅(qū)動程序直接讀取出來,為解決這個(gè)問題,需要在前面驅(qū)動程序的基礎(chǔ)上加入文 件系統(tǒng),讓單片機(jī)對文件的操作與計(jì)算機(jī)對文件的操作相兼容,在8位單片機(jī)上 方便使用的文件系統(tǒng)是znFAT,znFAT與存儲設(shè)備的關(guān)系如圖所示。



51單片機(jī)驅(qū)動sd卡上面壓縮包所有程序下載: 第20章 SD卡.rar (11.3 MB, 下載次數(shù): 374)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏17 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:113004 發(fā)表于 2016-5-21 19:54 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

板凳
ID:58591 發(fā)表于 2016-10-12 15:52 | 只看該作者
感謝分享,支持下
回復(fù)

使用道具 舉報(bào)

地板
ID:144711 發(fā)表于 2016-10-27 10:30 | 只看該作者
學(xué)習(xí)中 真是對文件系統(tǒng)不了解
回復(fù)

使用道具 舉報(bào)

5#
ID:167829 發(fā)表于 2017-3-3 10:49 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

6#
ID:171696 發(fā)表于 2017-3-18 20:44 | 只看該作者
感謝分享,支持下
回復(fù)

使用道具 舉報(bào)

7#
ID:200484 發(fā)表于 2017-5-14 00:37 | 只看該作者
謝謝分享!不夠錢下載
回復(fù)

使用道具 舉報(bào)

8#
ID:250362 發(fā)表于 2017-11-17 11:39 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

9#
ID:263813 發(fā)表于 2017-12-19 17:32 | 只看該作者
謝謝分享,先行收藏
回復(fù)

使用道具 舉報(bào)

10#
ID:56377 發(fā)表于 2017-12-23 10:52 | 只看該作者
謝謝分享,先行收藏
回復(fù)

使用道具 舉報(bào)

11#
ID:277451 發(fā)表于 2018-1-18 16:42 | 只看該作者
好東西啊,謝謝分享
回復(fù)

使用道具 舉報(bào)

12#
ID:329461 發(fā)表于 2018-5-14 11:29 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

13#
ID:393796 發(fā)表于 2018-10-23 23:48 | 只看該作者

感謝分享,支持下,辛苦了樓主
回復(fù)

使用道具 舉報(bào)

14#
ID:222011 發(fā)表于 2018-11-4 22:13 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

15#
ID:382264 發(fā)表于 2019-1-21 16:39 來自手機(jī) | 只看該作者
好東西
回復(fù)

使用道具 舉報(bào)

16#
ID:599538 發(fā)表于 2019-12-14 22:01 來自手機(jī) | 只看該作者
好東西
回復(fù)

使用道具 舉報(bào)

17#
ID:599538 發(fā)表于 2020-4-12 12:29 來自手機(jī) | 只看該作者
支持,太有用了
回復(fù)

使用道具 舉報(bào)

18#
ID:599538 發(fā)表于 2020-4-19 14:10 來自手機(jī) | 只看該作者
感謝分享,正在學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

19#
ID:983266 發(fā)表于 2021-11-22 00:37 | 只看該作者
好東西,現(xiàn)在正在調(diào)試這個(gè)程序,8G的卡,SPI模式,一直不成功,下載這個(gè)試試看
回復(fù)

使用道具 舉報(bào)

20#
ID:1128778 發(fā)表于 2024-7-11 17:53 | 只看該作者
philip 發(fā)表于 2017-5-14 00:37
謝謝分享!不夠錢下載

可以去B站搜索一下這本書 有對應(yīng)視頻 里面有某一個(gè)寶鏈接 在詳情頁可以下載
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久999 | 中文字幕中文字幕 | 免费久草| 欧美日韩中文国产一区发布 | 亚洲欧美中文日韩在线v日本 | 福利片在线 | 99久久久国产精品免费消防器 | 九九综合九九 | 久久精品国产一区二区电影 | 国产精品不卡 | 九九热这里只有精品6 | 日韩成人中文字幕 | 蜜桃一区二区三区 | 欧美成年网站 | 美女在线观看av | 99视频在线免费观看 | 午夜精品一区 | 午夜一区二区三区 | 在线观看精品 | 亚洲自拍偷拍视频 | 欧美日韩国产在线观看 | 精品国模一区二区三区欧美 | 国产精品一区一区 | 91电影| 91精品国产乱码久久久久久 | 粉嫩高清一区二区三区 | 久久精品久久久 | 午夜激情免费 | 国产精品黄色 | 国产精品国产三级国产aⅴ中文 | 国产精品久久久久久妇女6080 | 妞干网福利视频 | 在线观看视频你懂得 | 亚洲成人网在线 | 91porn国产成人福利 | 久久久国产精品一区 | 国产成人av在线 | 神马影院一区二区三区 | 国产馆| 一区二区在线 | 在线视频中文字幕 |