音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

讀取SD卡出現(xiàn)的怪現(xiàn)象,請高手指點

作者:cyh537 欄目:嵌入式系統(tǒng)
讀取SD卡出現(xiàn)的怪現(xiàn)象,請高手指點
讀取block數(shù)據(jù)時出現(xiàn)的問題

使用SANDISK 512M SD卡
使用spi模式
使用CMD17 讀取SINGLE block

送進(jìn)去的block地址必須加上0xed才能讀取到正確位置的數(shù)據(jù)。
在sd的規(guī)范里怎么也找不到關(guān)于這個偏移地址的說法。
但是,添加后,程序的確可以正常工作。實在搞不明白,請高手指點。
程序如下:
INT8U SD_ReadBlock(INT32U blockaddr, INT8U *recbuf)
{
    INT8U ret;
sds.block_num = 0x%x    \n\r\n\r",sds.block_num);
//next 1 LINE added by cyh according much data.
    blockaddr += 0xed;
//add code end
    if (blockaddr > sds.block_num)    
        return SD_ERR_OVER_CARDRANGE;                /* 操作超出卡容量范圍 operate over the card range */
    
     ret = SD_ReadSingleBlock(blockaddr);            /* 讀單塊命令 read SINGLE blocks command */                        
     if (ret != SD_NO_ERR)
         return ret;
     
      return (SD_ReadBlockData(SD_BLOCKSIZE, recbuf));/* 讀出數(shù)據(jù) read data from sd card */    
}






2樓: >>參與討論
liandao
也許是理解的問題
送進(jìn)去的block地址必須加上0xed才能讀取到正確位置的數(shù)據(jù)。
--你是如何確認(rèn):在SD卡上,你所指定的地址和數(shù)據(jù)對應(yīng)關(guān)系,而當(dāng)你用上面的代碼做測試時才發(fā)現(xiàn)跟這個對應(yīng)關(guān)系不符合?
有沒有文件系統(tǒng)?上面的讀取是在文件系統(tǒng)之上的么?

3樓: >>參與討論
平常人
你是如何知道讀出了正確的數(shù)據(jù)?數(shù)據(jù)是如何寫進(jìn)去的?
 
4樓: >>參與討論
eleven11
哈哈
一看就是zlg的程序,zlg的程序我調(diào)過,除了spi的頻率算錯了沒有問題的,在這里讀寫的都是絕對地址,沒有偏移地址一說的,就算是對多分區(qū)操作,也是在文件系統(tǒng)對底層操作的時候轉(zhuǎn)換為絕對地址

* - 本貼最后修改時間:2006-12-13 21:44:36 修改者:eleven11

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
本人最新做的高性能FPGA開發(fā)板,和各位同行來切磋一下
來一段多國語言菜單的處理。見笑  歡迎討論
要學(xué)習(xí)arm上跑linux,請指點一下,少走彎路
關(guān)于ARM和Keil片子的問題
vxworks中l(wèi)s函數(shù)的問題
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號