Gast
#1406828
Hallo,
ich habe folgendes Problem. Ich will eine SD - Kartenansteuerung
programmieren. Hierzu benutze ich die Library nach Roland Riegel.
Allerdings verwendet ich keine normale Karte sondern eine Micro
SD-Karte. Beim Initialisieren in der Funktion sd_raw_init()
initialisiert der Kontroller allerdings nicht richtig.
In folgendem Quellcode bekommt er die falsche Rückmeldung:
/* wait for card to get ready */
for(uint16_t i = 0; ; ++i)
{
response = sd_raw_send_command_r1(41, 0);
// SD_SEND_OP_COND (keine 'high capacity')
if(!(response & (1 << R1_IDLE_STATE)))
break;
if(i == 0x7fff)
{
unselect_card();
spi_rec_byte();
spi_high_frequency();
return 0;
}
}
response nimmt den Wert 5 an was soviel bedeutet wie R1_ADDR_ERR. Muss
man eine Micro SD Karte anders ansprechen als eine normale SD Karte ?
Oder kann es daran liegen das ich Fat 16 für ein 4 Gig Karte (auf 2 Gig
runtergetrimmt wegen Fat 16) benutze?
Bin für jede Hilfe dankbar
Grüße
Alex