SDHC Card keine Antwort auf cmd0

OP #1025483
Lesenswert?
• ▲
▼
Hallo an alle,

ich versuche verzweifelt eine SDHC-Card (Sandisk 4GB Class2) zum laufen 
zu bringen, aber diese reagiert nicht einmal auf CMD0. Ich kann alle 
möglichen SD-Cards ansprechen mit meiner Software, das funktioniert 
wunderbar, auch habe ich in anderen Beiträgen schon gesucht und die 
Initialisierung nach Datenblatt duchgeführt, doch diese Karte hält es 
nicht für nötig in irgendeiner weise zu Antworten :-(. Über einen 
Kartenleser kann ich auch problemlos auf diese zugreifen. Hat schon 
irgendjemand ähnliche Erfahrungen gemacht?
OP #1025635
Lesenswert?
• ▲
▼
@Siggi
das ist der Ausschnitt mit der Initialisierung
ist für MSP430F149 an 8Mhz, was mich wie gesagt wundert ist, dass 
"normale"
SD-Cards einwandfrei funktionieren
1
// Initialisieren
2
char init_SD (void)
3
{
4
  int i;
5
  unsigned char antwort=0x00;
6
  unsigned char antworten[8];
7

8
  initSPI(0x14);//SPIGeschwindigkeit auf 125Khz
9
  CS_HIGH();
10
  for(i=0;i<=10;i++)
11
    spiSendByte(0xff);
12
  //Send Cmd0
13
  for(i=0;i<=200;i++){
14
    CS_LOW();
15
    SendCmd(0x00,0x00,0x95);
16
    antwort=WARTE_ANTWORT();
17
    CS_HIGH();
18
    if (antwort==0x01) break;
19
  }
20
   if (antwort!=0x01) return TIMEOUT_ERROR;//
21
   spiSendByte(0xff);
22

23
   CS_LOW();
24
   SendCmd(0x08,0x0122,0x95);
25
   antwort=WARTE_ANTWORT();
26

27
// setup usart1 in spi mode
28
void initSPI (unsigned char teiler)
29
{
30
  ME2 |= USPIE1;    // Enable USART1 SPI mode
31
  UTCTL1 =  CKPH | SSEL1 | SSEL0 | STC; 
32
  UBR01 = teiler;    
33
  UBR11 = 0x00;      // -"-
34
  UMCTL1 = 0x00;    // no modulation
35
  UCTL1 = CHAR | SYNC | MM;  // 8-bit SPI Master **SWRST**
36
  while (!(IFG2 & UTXIFG1));  
37
}
OP #1025754
Lesenswert?
• ▲
▼
Danke für die Antworten,

das Problem hat sich erledigt. Ich habe mir eine andere SDHC Card 
besorgt und mit der hat es funktioniert.
Nachdem ich dann alle kleinen (hoffentlich alle) Fehlerchen aus meinem 
Programm entfernt habe habe ich das Board ohne MSP-FET Adapter laufen 
lassen und siehe da auch mein Problemkind unterhält sich aufeinmal 
mühelos mit dem Controller. Ich kann es mir nicht erklären warum, bin 
aber trotzdem mit dem Ergebniss zufrieden :-)
Gast #1154483
Lesenswert?
• ▲
▼
Es funktionieren alle SDHC-Karten im SPI-Mode. Ohne Ausnahmen!
Ansteuerung wie normale SD-Karte, lediglich die Adressierung ist jetzt 
eben nicht mehr Byte-Adresse, sondern Block-Adresse. Das ist auch schon 
alles (für die Erbsenzähler: natürlich gibt es auch zusätzliche Befehle, 
aber die braucht man nicht unbedingt).

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.