久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機對SD卡讀寫系列(三)

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

作者: 時間:2016-11-23 來源:網絡 收藏
SD卡的驅動主要有初始化、讀、寫、擦除等。

1、初始化步驟:

本文引用地址:http://cqxgywz.com/article/201611/320312.htm

(1)延時至少74clock

(2)發送CMD0,需要返回0x01,進入Idle狀態

(3)循環發送CMD55+ACMD41,直到返回0x00,進入Ready狀態。

如果是MMC,此步應發送CMD1。

2、步驟:

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

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

默認正式傳輸的數據長度是512Bytes,可用CMD16設置。

3、步驟:

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

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

4、擦除步驟:

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

(2)發送CMD33,,指定最后的扇區號

(3)發送CMD38,擦除指定區間的扇區

此3步順序不能顛倒。

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



評論


技術專區

關閉