新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機對SD卡讀寫系列(三)

單片機對SD卡讀寫系列(三)

作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
SD卡的驅(qū)動主要有初始化、讀、寫、擦除等。

1、初始化步驟:

本文引用地址:http://www.2s4d.com/article/201611/320312.htm

(1)延時至少74clock

(2)發(fā)送CMD0,需要返回0x01,進入Idle狀態(tài)

(3)循環(huán)發(fā)送CMD55+ACMD41,直到返回0x00,進入Ready狀態(tài)。

如果是MMC,此步應(yīng)發(fā)送CMD1。

2、步驟:

(1)發(fā)送CMD17(單塊)或CMD18(多塊)讀命令,返回0x00

(2)接收數(shù)據(jù)開始令牌0xfe(或0xfc)+正式數(shù)據(jù)512Bytes + CRC校驗2Bytes

默認正式傳輸?shù)臄?shù)據(jù)長度是512Bytes,可用CMD16設(shè)置。

3、步驟:

(1)發(fā)送CMD24(單塊)或CMD25(多塊)寫命令,返回0x00

(2)發(fā)送數(shù)據(jù)開始令牌0xfe(或0xfc)+正式數(shù)據(jù)512Bytes + CRC校驗2Bytes

4、擦除步驟:

(1)發(fā)送CMD32,跟一個參數(shù)來指定首個要擦出的扇區(qū)號(SD手冊上說是塊號)

(2)發(fā)送CMD33,,指定最后的扇區(qū)號

(3)發(fā)送CMD38,擦除指定區(qū)間的扇區(qū)

此3步順序不能顛倒。

還要注意發(fā)送CMD命令時,后面要跟一個字節(jié)的CRC校驗數(shù)據(jù),總之要保證每次發(fā)送的數(shù)據(jù)包長度符合協(xié)議要求,命令、數(shù)據(jù)符合時序要求。



關(guān)鍵詞: 單片機SD卡讀寫系

評論


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

關(guān)閉