change for use

Committer:
katoshunsuke
Date:
Thu Dec 16 15:53:27 2021 +0000
Revision:
1:b138ec359bfe
Parent:
0:e882606c8174
change for use;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dank 0:e882606c8174 1 #include "SDHandler.h"
dank 0:e882606c8174 2 #include "SDCommands.h"
dank 0:e882606c8174 3
dank 0:e882606c8174 4
dank 0:e882606c8174 5 bool SD_Initialize(){
dank 0:e882606c8174 6
dank 0:e882606c8174 7 SpiRawInitialize();
dank 0:e882606c8174 8
dank 0:e882606c8174 9 //--------------------------- 74clock ---------------------------
dank 0:e882606c8174 10 Dummy74Clacks();
dank 0:e882606c8174 11
dank 0:e882606c8174 12 //--------------------------- CMD0 ---------------------------
dank 0:e882606c8174 13 if(!CMD0())return false;
dank 0:e882606c8174 14
dank 0:e882606c8174 15 //--------------------------- CMD8 ---------------------------
dank 0:e882606c8174 16 uint32_t r7;
dank 0:e882606c8174 17 if(!CMD8(&r7))return false;
dank 0:e882606c8174 18
dank 0:e882606c8174 19 //--------------------------- ACMD41 ---------------------------
dank 0:e882606c8174 20 bool flag = false;
dank 0:e882606c8174 21 for(int i = 0;i < 100;i++){
dank 0:e882606c8174 22 flag = ACMD41();
dank 0:e882606c8174 23 if(flag)break;
dank 0:e882606c8174 24 }
dank 0:e882606c8174 25
dank 0:e882606c8174 26 if(!flag)return false;
dank 0:e882606c8174 27
dank 0:e882606c8174 28 //--------------------------- CMD58 ---------------------------
dank 0:e882606c8174 29 uint32_t ocr;
dank 0:e882606c8174 30 if(!CMD58(&ocr))return false;
dank 0:e882606c8174 31
dank 0:e882606c8174 32 //--------------------------- CMD9 ---------------------------
dank 0:e882606c8174 33 uint8_t csd[16];
dank 0:e882606c8174 34 if(!CMD9(csd))return false;
dank 0:e882606c8174 35
dank 0:e882606c8174 36 //--------------------------- CMD10 ---------------------------
dank 0:e882606c8174 37 uint8_t cid[16];
dank 0:e882606c8174 38 if(!CMD10(cid))return false;
dank 0:e882606c8174 39
dank 0:e882606c8174 40 return true;
dank 0:e882606c8174 41 }
dank 0:e882606c8174 42
dank 0:e882606c8174 43 bool SD_WriteMulti(uint32_t sector, uint8_t *data, uint16_t count){
dank 0:e882606c8174 44 if(!CMD25(sector,data,count))return false;
dank 0:e882606c8174 45 return true;
dank 0:e882606c8174 46 }
dank 0:e882606c8174 47
dank 0:e882606c8174 48 bool SD_ReadMulti(uint32_t sector, uint8_t *data, uint16_t count){
dank 0:e882606c8174 49 if(!CMD18(sector,data,count))return false;
dank 0:e882606c8174 50 return true;
dank 0:e882606c8174 51 }
dank 0:e882606c8174 52
dank 0:e882606c8174 53 bool SD_Write(uint32_t sector, uint8_t *data){
dank 0:e882606c8174 54 if(!CMD24(sector,data))return false;
dank 0:e882606c8174 55 return true;
dank 0:e882606c8174 56 }
dank 0:e882606c8174 57
dank 0:e882606c8174 58 bool SD_Read(uint32_t sector, uint8_t *data){
dank 0:e882606c8174 59 if(!CMD17(sector,data))return false;
dank 0:e882606c8174 60 return true;
dank 0:e882606c8174 61 }