Gast
#324213
Hallo zusammen,
ich muss leider den 1000sten Thread zu dem Thema öffnen aber ich komme
irgendwie auf keinen grünen Zweig. Ich programmiere mit dem CCS
Compiler und möchte wie schon oben erwähnt eine mmc Karte ansprechen.
Genauer gesagt möchte ich in eine Container Datei schreiben. Hierzu
habe ich mir den Anfang der Datei im Hex Editor gesucht und versuche an
diese Adresse zu schreiben.
Nun habe Probleme mit meiner Schreibroutine:
int mmc_write_block( int16 iAdrH, int16 iAdrL)
{
unsigned int16 i;
output_bit(CS_MMC,0);
delay_ms(1);
mmc_send_command(0x58,0x4,0x2000,0xff);
if((mmc_response(0x00))==1)return 3;
//spi_read(0xff);
//spi_read(0xff);
spi_write(0xfe); //Start Byte
for(i=0;i<512;i++) //Data
{
SPI_write('M');
}
spi_write(0xff); // 2 byte CRC
spi_write(0xff);
if((SPI_READ(0xFF)&0x0F)!=0x05) return 2;
if (mmc_response(0xff)==1)return 1; //mmc busy??
SPI_READ(0xff);
output_bit(CS_MMC,1);
SPI_READ(0xFF);
return 0;
}
Die Routine gibt mir immer 0 zurück --> also müsste alles funktioniert
haben, allerdings ist meine MMC Karte leer.
Ich kann langsam nicht verstehen woran das liegt! Der Code ist ja fast
identisch zu dem Microchip Beispielcode
http://www.microchipc.com/sourcecode/
Die initialisierung vorher hat ohne Probleme geklappt.