新聞中心

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

        單片機(jī)對(duì)SD卡讀寫系列(三)

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

        1、初始化步驟:

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

        (1)延時(shí)至少74clock

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

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

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

        2、步驟:

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

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

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

        3、步驟:

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

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

        4、擦除步驟:

        (1)發(fā)送CMD32,跟一個(gè)參數(shù)來(lái)指定首個(gè)要擦出的扇區(qū)號(hào)(SD手冊(cè)上說(shuō)是塊號(hào))

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

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

        此3步順序不能顛倒。

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



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

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 日照市| 常宁市| 灵川县| 彭山县| 大邑县| 辽源市| 马山县| 香港| 青田县| 金昌市| 巴楚县| 忻州市| 襄垣县| 深水埗区| 达日县| 安康市| 祁东县| 汝南县| 南皮县| 泗洪县| 和平区| 福海县| 利川市| 翁牛特旗| 泌阳县| 阿勒泰市| 彭州市| 克东县| 黄冈市| 凤台县| 河源市| 高阳县| 阳西县| 鄯善县| 鲜城| 登封市| 蒙城县| 监利县| 汕头市| 光山县| 阳朔县|