![]() |
發布時間: 2024-1-22 20:50
正文摘要:我用的是STC8H單片機,用IO模擬SPI的方式讀TF卡,用小容量(512M)讀是對的,同樣的程序,但是換用8G卡的時候,讀出來的是亂碼,三張8G卡0x00地址讀出都是一樣的。所有TF卡都是FAT32 4096字節格式化的。2張8g卡是cla ... |
1. sdcommand(0x01,0x00ffc0000,0xff); 改為 sdcommand(0x01,0x00ffc000,0xff); 你多了一個零。 2. for(i=0;i<9;i++) sdwrite(0xff); 改為 for(i=0;i<15;i++) sdwrite(0xff); 發74個以上時鐘才穩妥。 3. 0x87和0x95不是區分卡大小的是USB2.0 還是1.0 啊 |
npn 發表于 2024-1-22 23:02 sdcommand(0x11,address,0xff);這句 CMD17命令 |
使用WinHex搜索這段數據: 3C ED FA 5B 95 DD 72 5B 3E E7 05 C6 E5 B9 B7 8F 看是否能找到。 |
你用什么指令讀取的SD卡容量? 用邏輯分析儀檢查下時序是否有錯誤,按照數據手冊編寫,隨意編輯扇區可能會導致文件系統結構損壞。 |
sdcommand(0x01,0x00ffc0000,0xff);好像初始化中這條指令有問題,response一直是1,挑不出while循環,怎么辦??? |
反復測試 應該是卡在了初始化 sdcommand(0x01,0x00ffc0000,0xff);這個命令上,response一直是1,跳不出while循環,怎么辦??? |