Hallo,
ich möchte gerne Sektor x bis Sektor y auf einer SD karte löschen:
1 | BYTE MDD_SDSPI_Sector_Erase(DWORD sect_start,DWORD sect_end)
|
2 | {
|
3 | MMC_RESPONSE response;
|
4 |
|
5 | response = SendMMCCmd(TAG_SECTOR_START,sect_start << 9);
|
6 | if(response.r1._byte != 0x00)
|
7 | return 0;
|
8 | response = SendMMCCmd(TAG_SECTOR_END,sect_end << 9);
|
9 | if(response.r1._byte != 0x00)
|
10 | return 0;
|
11 | response = SendMMCCmd(ERASE,0x00);
|
12 | if(response.r1._byte != 0x00)
|
13 | return 0;
|
14 |
|
15 | return 1;
|
16 | }
|
ERASE ist CMD38 und die Antwort ist R1b. Leider ist die Antwort R1B
immer ungleich null, was auf einen Fehler schließt, aber die Sektoren
sind auf der Karte gelöscht.
Hat jemand auf einer SD-Karte Sektoren gelöscht, wenn ja wie?
Was mache ich falsch?
Die Funktion SendMMCCmd ist aus der Microchip library.
Vielen dank für die Hilfe.