Hallo Habe nun die SDCARD am Hardware SPI. Wenn ich eine Formatierte Fat16 SDCARD einlege und das Beispiel von Ullrich radig ausprobiere geht es auch schön er liest mir das Rootverzeichniss und auchj die mmc.txt aus.. Nun will ich aber auch mal was schreiben und das icht unter Fat sondern Blockweise. char buffer[513]; for (i=0;i<512;i++) { buffer[i]='B'; } buffer[512]='\0'; //0= Startadresse Wenn ich mit mmc_write_sector(0,&buffer[0]); was schreibe kommt =0 zurück das hesit es wurde etwas geschrieben. Er müsste jetzt 512 Byte mit B schreiben. Nun will ich diesen Block lesen aber hier gibt sein Problem mmc_read_sector(0,&buffer[0]); //Routine zum lesen eines Blocks(512Byte) von der MMC/SD-Karte U08 mmc_read_sector (U32 addr,U08 *Buffer) //###################################################################### ###### { //Commando 16 zum lesen eines Blocks von der MMC/SD - Karte U08 cmd[] = {0x51,0x00,0x00,0x00,0x00,0xFF}; /*Die Adressierung der MMC/SD-Karte wird in Bytes angegeben, addr wird von Blocks zu Bytes umgerechnet danach werden diese in das Commando eingefügt*/ addr = addr << 9; //addr = addr * 512 cmd[1] = ((addr & 0xFF000000) >>24 ); cmd[2] = ((addr & 0x00FF0000) >>16 ); cmd[3] = ((addr & 0x0000FF00) >>8 ); mmc_read_block(cmd,Buffer,512); return(0); } Beim Lesen springt er hier raus. //###################################################################### ###### //Routine zum lesen des CID Registers von der MMC/SD-Karte (16Bytes) void mmc_read_block(U08 *cmd,U08 *Buffer,U16 Bytes) //###################################################################### ###### { //Sendet Commando cmd an MMC/SD-Karte //Hier springt er raus!!!!!!!!!!!!!!!!! if (mmc_write_command (cmd) != 0) { -->> return; } //Wartet auf Start Byte von der MMC/SD-Karte (FEh/Start Byte) while (mmc_read_byte() != 0xfe){ }; //Lesen des Bolcks (normal 512Bytes) von MMC/SD-Karte for (U16 a=0;a<Bytes;a++) { *Buffer++ = mmc_read_byte(); } //CRC-Byte auslesen mmc_read_byte();//CRC - Byte wird nicht ausgewertet mmc_read_byte();//CRC - Byte wird nicht ausgewertet //set MMC_Chip_Select to high (MMC/SD-Karte Inaktiv) MMC_Disable(); return; } Warum dieses. Muß man mit FAT etwa auch schreiben??????
Aslo FAT tut er lesen wenn ich mait Fat 16 formatiere und ein Ordner anlege ließt er ihn auch. Ist es möglich im RAW Format zu schreiben und diese dann wieder zu lesen????
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.