Bekomme SDHC nicht initialisiert

Gast #4251824
Lesenswert?

Hallo zusammen,

ich weiß, es gibt unzählige Einträge für das Initialisieren von SDHC 
Speicherkarten, aber es führt mich keine wirklich zum Erfolg.

Natürlich habe ich auch die Hinweise versucht zu beachten, vielleicht 
habe ich den einen und anderen Hinweis vielleicht auch falsch gedeutet.

Vorab, SD und MMC Karten funktionieren gut, das Schreiben und lesen 
eines einzelnen Blocks funktioniert. Aber auch hier gibt es noch ein 
paar Kleinigkeiten: CMD9 bringt noch das falsche Ergebnis, aber erst 
einmal zum eigentlichen Problem.

Die Schaltung wird "ohne" Spannungsteiler genutzt, in der richtigen 
Version muss ich "leider" mit Levelshiftern arbeiten, das GPS Modul kann 
nur mit 5 Volt betrieben werden. Soll heißen, die Anfänge eines GPS 
Logger.

HardwareKonfiguration:
Atmega 1284p 8Mhz external Quartz.
Hardware SPI wird genutzt.
Es wird ausschließlich die SPI-Kommunikation für die SD-Karte genutzt.
Versorgunsspannung: 3,3 Volt

Anschluss
Atmega1284 SD Karte
CS         PIN1 10K Pullup
MOSI       PIN2
           PIN3 GND
           PIN4 3.3 Volt
SCK        PIN5
           PIN6 GND
MISO       PIN7 10K Pullup
           PIN8 10K Pullup
           PIN9 10K Pullup

Folgende Karten Funktionieren:
256MB Medion Karte, schreiben und lesen (keine SDHC Karte)
512MB Toshiba Karte, schreiben und lesen (keine SDHC Karte)
128MB MircoSD HAMA Karte, schreiben und lesen (keine SDHC Karte)
1Gbyte SanDisk Karte, schreiben und lesen (keine SDHC Karte)
2Gbyte Sandisk Karte, schreiben und lesen (keine SDHC Karte)

2Gbyte HAMA Karte , lesen funktioniert, schreiben nicht (1. Karte die 
sich als SDHC meldet)
8 Gbyte CNMemory Karte, funktioniert gar nicht, bleibt bei der 
Initialisierung hängen.
16 Gbyte MicroSDHC HAMA Karte, funktioniert gar nicht, bleibt bei der 
Initialisierung hängen.
16 Gbyte SanDisk Karte, wird nicht als SDHC erkannt.
4 Gbyte Extreme SanDisk Karte, wird nicht als SDHC erkannt.

Klar, es gibt viele Entwicklungen und diese gelten als "quasi" Standard, 
aber  wie soll ich michh weiterbilden, wenn man nur Code kopiert? Soll 
heißen, ich habe mich natürlich versucht in das Thema einzulesen, ja, 
auch Elm Chans Seite habe ich rauf und runter gelesen, das Flowchart 
basiert auf meiner Entwicklung der Initialisierung.
1
#include <avr/io.h>
2

3
#define F_CPU  8000000UL
4

5
#include <util/delay.h>
6
#include <stdlib.h>
7

8
void spiInitMaster()
9
{
10
  DDRB |= (1<<SCK_PIN)|(1<<MOSI_PIN); // SCK, MOSI as outputs
11
  DDRB &= ~(1<<MISO_PIN); // MISO as input
12

13
  SPCR |= (1<<MSTR); // Set as Master
14

15
  // Mode 0 for SPI
16
  SPCR |= (0 << CPOL);  /* Clock Polarity: SCK low when idle */
17
  SPCR |= (0 << CPHA);  /* Clock Phase: sample on rising SCK edge */
18

19
  SPCR |= (1 << SPR1);  /* Clock Frequency: f_OSC / 64 */
20
  SPCR |= (0 <<SPI2X);  /* speed is not doubled */
21
  SPCR |= (1<<SPE);  // Enable SPI
22
}
23

24

25
// This is for SDCard SPI Command!
26
char sendSDCommand(char cmd, uint32_t ArgH, char crc )
27
{
28
  /* Select the card and wait for ready */
29
  SDCardSelectPinHigh;
30
  SDCardSelectPinLow;
31
  if (wait_ready() != 0xFF) return 0xFF;
32

33
  spiTrasmitData(0xFF);
34
  spiTrasmitData(cmd);
35
  spiTrasmitData((uint8_t)(ArgH >> 24));
36
  spiTrasmitData((uint8_t)(ArgH >> 16));
37
  spiTrasmitData((uint8_t)(ArgH >> 8));
38
  spiTrasmitData((uint8_t)ArgH);
39
  spiTrasmitData(crc);
40
  spiTrasmitData(0xFF);
41
  return spiTrasmitData(0xFF);  // Returns the last byte received
42
}
43

44
uint8_t initSDCard(void)
45
{
46
  uint8_t i = 0;
47
  uint8_t wbr = 2;
48
  uint16_t counter = 0;
49
  uint8_t cmd = 0;
50
  uint8_t wbr2 = 4;
51
  char ocr[5];
52

53
  SDCardDetectionPinInput;
54
  SDCardDetectionPinHigh;
55

56
  SDCardWriteProtectionPinInput;
57
  SDCardWriteProtectionPinHigh;
58

59
  SDCardSelectPinOutput;
60
  SDCardSelectPinHigh;
61

62
  SDCardPowerUpPinOutput;
63

64
  SDCardPowerUpPinHigh;
65
  SDCardSelectPinHigh;
66
  _delay_ms(500);
67

68
    for(i=0; i < 10; i++)
69
  {
70
    spiTrasmitData(0xFF); // Send 10 * 8 = 80 clock pulses 400 kHz
71
  }
72
  SDCardSelectPinLow;
73

74
  for(i=0; i < 2; i++)
75
  {
76
    spiTrasmitData(0xFF); // Send 10 * 8 = 80 clock pulses 400 kHz
77
  }
78

79
  wbr = sendSDCommand(CMD0,0,0x95);
80
  while ( wbr != 0x01 )
81
  {
82
    if (!(--counter))
83
    {
84
      SDCardStatus = SDCardCritical;
85
    }
86
    wbr = spiTrasmitData(0xFF);
87
  }
88

89
  SDCardSelectPinHigh;
90
  spiTrasmitData(0xFF);
91
  SDCardSelectPinLow;
92

93
  wbr = sendSDCommand(CMD1,0,0xFF);
94
  counter = 10;
95
  while ( 1 )
96
  {
97
    if ( wbr == 0x00)
98
    {
99
      SDCardSelectPinHigh;
100
      break;
101
    }
102

103
    if ( wbr == 0x01)
104
    {
105
      SDCardSelectPinHigh;
106
      break;
107
    }
108

109
    wbr = spiTrasmitData(0xFF);
110
    if (!(--counter))
111
    {
112
      break;
113
    }
114
  }
115
  printSDCardInfos(SDCardStatus, "SDCARDSTATUS");
116

117
  if ( ! counter )
118
  {
119
    SDCardStatus = SDCardCritical;
120
  }
121
  else
122
  {
123
    SDCardSelectPinLow;
124
    spiTrasmitData(0xFF);
125
    // now we want to check if we have SD Version 2
126
    char ocr[5];
127
    wbr = sendSDCommand(CMD8,0x01AA,0x87);
128

129
    if (wbr == 0x01)
130
    {
131
      counter = 20;
132

133
      SDCardStatus = sdCardVersionSDV2BA;
134
      USART_print("SD Card is SDHC Card \n");
135

136
      for (i=0; i< 4;i++)
137
      {
138
        ocr[i] = spiTrasmitData(0xFF);
139
      }
140

141
      if (ocr[2] == 0x01 && ocr[3] == 0xAA) // The card can work at vdd range of 2.7-3.6V
142
      {
143
        wbr = 3;
144
        wbr2 = 3;
145
        counter = 50;
146

147
        while (1)
148
        {
149
          wbr = sendSDCommand(CMD55, 0, 0xFF);
150
          wbr2 = sendSDCommand(ACMD41, 0x4000,0xFF);
151

152
          printf("ACMD: 0x%x\n", wbr2);
153

154
          if (wbr2 == 0x00)
155
          {
156
            SDCardStatus = SDCardOK;
157
            break;
158
          }
159

160
          if (!(--counter))
161
          {
162
            SDCardStatus = SDCardCritical;
163
            break;
164
          }
165
        }
166

167
        printf("ACMD41: 0x%x \n",wbr2 );
168

169
        if ( ! counter || SDCardStatus == SDCardCritical)
170
        {
171
          SDCardStatus = SDCardCritical;
172
        }
173
        else
174
        {
175
          wbr = sendSDCommand(CMD58, 0, 0xFF);
176
          printSDCardInfos(wbr, "CMD58");
177

178
          if ( wbr == 1)
179
          {
180
            SDCardStatus = sdCardVersionSDV2BA;
181
          }
182

183
          if (wbr == 0)
184
          {
185
            SDCardStatus = sdCardVersionSDV2BY;
186
          }
187

188
          if ( wbr != 0 && wbr != 1)
189
          {
190
            SDCardStatus = SDCardCritical;
191
          }
192
        }
193
        USART_print("////////////////////////////////// \n");
194
      }
195
    }
196
    else
197
    {
198
       .......
199

200

201

202
int main(void)
203
{
204
  uint8_t success = FALSE;
205

206
 while(1)
207
    {
208
    if (ButtonPinOnePressed)
209
    {
210
      success = initSDCard();
211
      printf("Init: %i \n", success);
212
      if(success != 0x00)
213
      {
214
        RedLEDHigh;
215
      }
216
      else
217
      {
218
        GreenLEDHigh;
219
        
220
      }
221
    }
222
   }
223
 return 1
224
}

Auffällig hier ist, dass die Initialisierung "viel" zu Fuß macht, das 
ist daher begründet, da ich es verstehen wollte / will und im 2. Anlauf 
eine "Bereinigung" durchführe.

Folgendes Ergebnis erscheint bei der Initialisierung einer SDHC Karte 
die nicht funktioniert:
1
SDCard Info: SDCARDSTATUS: 0
2
SD Card is SDHC Card
3
ACMD: 0x1
4
ACMD: 0x1
5
ACMD: 0x1
6
ACMD: 0x1
7
ACMD: 0x1
8
.......

Die Initialisierung bleibt also bei dem App Command ACMD41 mit einem 
vorherigem CMD55 hängen.
Das zuvor gesendete CMD8 mit dem Argument 0x01AA wird noch korrekt 
beantwortet. Habt ihr eine Idee, was mein Fehler sein könnte?

Noch ein Hinweis, nehmt mich aufgrund des sehr schlechten Codes nicht zu 
sehr auseinander, wie gesagt, die "Verbesserungen" sind in Planung.

Vielen Dank
Gast #4251911
Lesenswert?

@Falk Brunner
Ja, das ist war, ich kann mir auch vorstellen, dass euch das Thema 
inzwischen zum Hals raushängt, aber warum "nur" Code kopieren, wenn man 
etwas verstehen will? Trotzdem Danke.

@Jim Meba,

danke für die Infos, ich werde deinen Tipps nachgehen, ich gebe zu ich 
habe hier beim testen den Überblick verloren, daher auch die "falschen" 
Zahlen bzw.
Argumente. Danke für die Hinweise!
Gast #4251926
Lesenswert?

@Jim Meba,

Oh man, das wars, der CMD1 macht quatsch. Das schlimme ist ich habe das 
FlowChart von ELM Chan hier liegen, da steht nix von CMD1 in der 
Initialisierungsphase.... (??).

Das Initialisieren klappt schon einmal.

Vielen Dank für die Tipps
#4251958
Lesenswert?

@chris (Gast)

>inzwischen zum Hals raushängt, aber warum "nur" Code kopieren, wenn man
>etwas verstehen will? Trotzdem Danke.

Zur reinen Lernzwecken mag das OK sein, aber die meisten wollen 
SD-Karten einfach anwenden. Modularisierung und Wiederverwendung von 
Technologie sind Schlüsselelemente des Fortschritts.
Gast #4252078
Lesenswert?

@Falk Brunner
Ja, das ist richtig, aber wenn man bei einem Fehler, der schnell bei 
"vorhandenen" Libs entstehen kann, nicht versteht warum das so ist, wäre 
ein Blick und das Verständnis in die Low Level Verarbeitung 
wünschenswert, um dann seinen Fehler schnell zu lösen. Alles was man 
lernt durch seine eigenen Erfahrungen und wie in diesem Fall, durch 
seine eigenen Fehler, sind mehr Wert als nur eine einfache Kopie von 
Code. Das soll nicht heißen, das ich nicht schätze was andere der 
"Gemeinschaft" gutes tun, im Gegenteil ich profitiere auch davon und 
nutze diese sollte es erlaubt sein.

@Jim Meba
Ja, mein Fehler.
#4252086
Lesenswert?

@ chris (Gast)

>Ja, das ist richtig, aber wenn man bei einem Fehler, der schnell bei
>"vorhandenen" Libs entstehen kann,

Mal nicht so schnell. Mit vorhandenen Bibliotheken meine ich nicht den 
tonnenweise im Internet kursierenden, halbfertigen Murks sondern 
wirklich gute Brocken an Software.

> nicht versteht warum das so ist, wäre
>ein Blick und das Verständnis in die Low Level Verarbeitung
>wünschenswert, um dann seinen Fehler schnell zu lösen.

Nö, denn du willst ja nicht die Lib debuggen.

> Alles was man
>lernt durch seine eigenen Erfahrungen und wie in diesem Fall, durch
>seine eigenen Fehler, sind mehr Wert als nur eine einfache Kopie von
>Code.

Darum geht es gar nicht.

>Das soll nicht heißen, das ich nicht schätze was andere der
>"Gemeinschaft" gutes tun, im Gegenteil ich profitiere auch davon und
>nutze diese sollte es erlaubt sein.

Willst du das Rad immer neu erfinden? Soll jeder Programmierer seinen 
eigenen Compiler, eigenen USB oder TCP/IP Stack schreiben?
Gast #4252123
Lesenswert?

chris schrieb:
> @Falk Brunner
> Ja, das ist richtig, aber wenn man bei einem Fehler, der schnell bei
> "vorhandenen" Libs entstehen kann, nicht versteht warum das so ist, wäre
> ein Blick und das Verständnis in die Low Level Verarbeitung
> wünschenswert, um dann seinen Fehler schnell zu lösen.

so sehe ich das auch chris,
aber der überwiegende teil der gemeinde hat es anscheinend nicht mehr 
nötig oder ist alteingesessen und scheucht veränderungen oder gar 
verbesserungen.

wenn man da mit einer 'erkenntnis' kommt, verstehen es die wenigsten,
weil das basis verständnis nicht oder nicht mehr vorhanden ist, eben 
zuviel immer nur auf fertige libs aufgebaut.

ich verwende auch notgedrungen die fat32 lib von elm chan eben wegen 
fat32 in einem esp8266 projekt, aber ich hätte es gerne gesehen, wenn 
man mal einen standard für rohdaten speichern und lesen hier vorgestellt 
hätte; eine ortografie quasi für jeden bei verschiedenen µC - einnmal in 
der hardware form und einmal per software.

einen mikrocontroller standard eben, aber bis dahin ist ein weiter weg; 
irgendwer fängt ein wiki an, aber es wird nicht weitergemacht, die 
meisten wollen halt nicht mehr ;-) - alteingesessen eben ;-) ..


lg

rudi ;-)
#4252128
Lesenswert?

@ r_u_d_i (Gast)

>so sehe ich das auch chris,
>aber der überwiegende teil der gemeinde hat es anscheinend nicht mehr
>nötig oder ist alteingesessen und scheucht veränderungen oder gar
>verbesserungen.

Andere wiederum scheuen solche angestaubten Dinge wie die deutsche 
Rechtschreibung.

>wenn man da mit einer 'erkenntnis' kommt, verstehen es die wenigsten,
>weil das basis verständnis nicht oder nicht mehr vorhanden ist, eben
>zuviel immer nur auf fertige libs aufgebaut.

Es geht hier NICHT um die Diskussion pro/contra Grundlagenwissen.

>ich verwende auch notgedrungen die fat32 lib von elm chan eben wegen
>fat32 in einem esp8266 projekt, aber ich hätte es gerne gesehen, wenn
>man mal einen standard für rohdaten speichern und lesen hier vorgestellt
>hätte;

Elm Chan's Lösung ist ein Quasi Standard.

>einen mikrocontroller standard eben, aber bis dahin ist ein weiter weg;
>irgendwer fängt ein wiki an, aber es wird nicht weitergemacht, die
>meisten wollen halt nicht mehr ;-) - alteingesessen eben ;-) ..

You are heavyly on the woodway.
Gast #4252175
Lesenswert?

Falk B. schrieb:
> Andere wiederum scheuen solche angestaubten Dinge wie die deutsche
> Rechtschreibung.

weisst du was mich die rechtschreibung seit der ersten klasse kann?

das hat vieleicht nicht mal was mit scheuen zu tun.

http://krisentipps.de/fabian-joas-doktorarbeit-trotz-legasthenie/

lass dir das mal durch den kopf gehen Falk Brunner!

das genörgle an menschen die nicht der norm entsprechen nervt.
genauso wie das ewige macho gehabe " ich kann es - aber ich sags dir 
nicht - du musst es so machen wie alle es machen "

genau - dann haben wir das Einheitssch()f - mit doppel a oder einfach-
das weisst du besser.

der TO wollte das ohne lib machen -
und es weiss anscheinend keiner der teilnehmer wie es geht?!
wenn du es weisst - schreibs halt - oder einfach klappe zu :)

> Elm Chan's Lösung ist ein Quasi Standard.

und warum wurde er noch nicht iso fiziert? ..

> You are heavyly on the woodway.

was bitte ist 'heavyly' ein neues englisches wort?


zurück zum thread:
hier mal ein paar infos:

SPI
http://www.mikrocontroller.net/attachment/68833/T6963c.c

RAW Data Win
http://www.nerdkits.com/forum/thread/2599/

RAW Data µC
https://e2e.ti.com/support/dsp/c5000/f/109/t/155512
#4252196
Lesenswert?

@ r_u_d_i (Gast)

>http://krisentipps.de/fabian-joas-doktorarbeit-tro...

>lass dir das mal durch den kopf gehen Falk Brunner!

Und? Es ist die berühmte Ausnahme.

>das genörgle an menschen die nicht der norm entsprechen nervt.

Stimmt, wozu einheitlich Rechtschreibung, wenn es doch problemlos ohne 
geht. Wozu Natutgesetze, wozu Mathematik? Geht alles ohne. Der 
Individualismus löst alles Probleme der Zukunft!

>genauso wie das ewige macho gehabe " ich kann es - aber ich sags dir
>nicht - du musst es so machen wie alle es machen "

>der TO wollte das ohne lib machen -

Meinetwegen doch.

>und es weiss anscheinend keiner der teilnehmer wie es geht?!
>wenn du es weisst - schreibs halt - oder einfach klappe zu :)

Ich glaub kaum, daß DU das festlegst.

>> You are heavyly on the woodway.

>was bitte ist 'heavyly' ein neues englisches wort?

Dein Humordetektor ist kaputt. Macht aber nix, ist wie bei dem 
Legastheniker. Du bist trotzdem (oder gerade darum?) HOCHBEGABT! Na we 
nigstens INDIVIDUELL!!!

Sei individuell, aber schnell, nicht bloß sexuell
potentiell intellektuell, reel originell
Keine Heuchelei, Prahlerei, Wichtigtuerei
sei immer gut dabei, mit anderen Worten: „Fühl dich frei!“

http://www.songtexte.com/songtext/die-fantastischen-vier/individuell-aber-schnell-bda6d7a.html
#4252202
Lesenswert?

"begann nun ein Studium der VWL und Politik. Heute liegt auch das 
Studium als „erfolgreich abgeschlossen“ hinter ihm und er arbeitet als 
wissenschaftlicher Mitarbeiter an der Universität, schreibt aktuell an 
seiner Doktorarbeit!"

Naja, böse Zungen würden jetzt hier Stichworte wie Gutenberg und 
Geschwätzeswissenschaften in den Raum werfen . . .  ;-)
Gast #4252208
Lesenswert?

Falk B. schrieb:

> Und? Es ist die berühmte Ausnahme.

Und? Die kommt bei den besten Libs nicht vor?
Warum gibt es dann immer wieder neue Patches?

> Stimmt, wozu einheitlich Rechtschreibung, wenn es doch problemlos ohne
> geht. Wozu Natutgesetze, ..

Du bist also der gleichen Meinung? Oder was sind 'Natutgesetze'?

> Ich glaub kaum, daß DU das festlegst.

Du kannst es nicht. Und hiermit habe ich das festgelegt.
Solange du das nicht widerlegst, bleibt es dabei: Du kannst es nicht 
ohne Elm Chan oder anderer Lib!

Glauben heisst nichts wissen -
wie du lesen kannst - habe ich das jetzt festlegen können.
Dann beweis mal das Gegenteil.

Ich kann es nicht!

Und weisst du was - solche Sätze fallen Leuten die nur noch Libs 
verwenden - sehr sehr 'heavyly' ..
#4252214
Lesenswert?

@ r_u_d_i (Gast)

>> Und? Es ist die berühmte Ausnahme.

>Und? Die kommt bei den besten Libs nicht vor?
>Warum gibt es dann immer wieder neue Patches?

Meine Antwort bezig sich auf deinen Link mit dem promovierenden 
Legastheniker.

>> Stimmt, wozu einheitlich Rechtschreibung, wenn es doch problemlos ohne
>> geht. Wozu Natutgesetze, ..

>Du bist also der gleichen Meinung?

[ ] Du weißt, was indirekte Rede und Ironie ist.

> Oder was sind 'Natutgesetze'?

Ein Tippfehler.

>> Ich glaub kaum, daß DU das festlegst.

>Du kannst es nicht. Und hiermit habe ich das festgelegt.

;-) Süß.

>Solange du das nicht widerlegst, bleibt es dabei: Du kannst es nicht
>ohne Elm Chan oder anderer Lib!

Hab ich gar nicht vor. Ich grabe auch nicht nach Eisenerz um mir ne M5 
Schraube herzustellen.

>Glauben heisst nichts wissen -

WOW! Damit kommst du in den Klub der toten Dichter.

>wie du lesen kannst - habe ich das jetzt festlegen können.
>Dann beweis mal das Gegenteil.

???

>Und weisst du was - solche Sätze fallen Leuten die nur noch Libs
>verwenden - sehr sehr 'heavyly' ..

s'past scho!
Gast #4252225
Lesenswert?

push#

da fällt mir noch was ein:

Falk B. schrieb:

> Stimmt, wozu einheitlich Rechtschreibung,


"Trenn nie das S vom T - denn es tut ihnen beiden weh."

Früher gab es eine 6 dafür
heute auch - wenn man sich an früher hält.

Sauerstofflassche mit zwei f - Sauerstofffarbe mit drei
Brauchst du da einen aktuellen Duden dafür oder bist du dir sicher?

Gestern verboten - heute erlaubt - morgen geduldet.

Da behalt ich mir lieber mein 'Individium' oder wie immer man das 
schreibt - das Einheitssch()f mag halt § und VO.

..
Gast #4252231
Lesenswert?

Falk B. schrieb:

> .. bezig ..

Weiterer Tippfehler, du scheinst nervös zu werden.

> Hab ich gar nicht vor. Ich grabe auch nicht nach Eisenerz um mir ne M5
> Schraube herzustellen.

Nichts anderes war von dir zu erwarten.
Also - du kannst es nicht!
Weder ohne Lib - noch eine M5 Schraube herstellen.
Dir fehlt es also an "Grundwissen" dass der TO versucht,
sich zu erlernen, damit darauf aufgebaut werden kann.

> s'past scho!

Kein Tippfehler mehr.
Da liegt entweder Unkenntnis in der Rechtschreibung vor
oder dir liegt der Dialekt nicht.
Man schreibt

passt scho, hau di nei!

;-)
Gast #4252245
Lesenswert?

Falk B. schrieb:
> s'past scho!

http://www.golyr.de/zillertaler-schuerzenjaeger/songtext-pa-t-scho-339432.html

Paßt scho Songtext
Du spiels die 1.Geige in mei'm Leb'n
Bist a, wo I dafür bin, meist dageg'n
Du woaßt, am liabst'n wär I a Poet
Doch des, was I dir schreib
Des findst du blöd
Mei Violine nennst a Fied'l
Und mei Kunstwerk, nennst a Liad'l
Doch ansonst'n fahlt si nix bei dir und mir
Naaaa...

Paßt scho, paßt scho, paßt scho
Du taugst mir so, des woaßt scho
Für mi alloan hat di der Herrgott g'macht
Jaaa...
Paßt scho, paßt scho, paßt scho
Was I brauch, du hast's scho
Und Hauptsach'is daß's bei mir bist
Dann paßts scho.

Komm I morg'ns durch die Hintertür ins Haus
Gehst du aus der Vordertür grad naus
Wenn du dein Rhythmus hast, hab I mein Blues
Beim Tanz'n steig I immer auf dein Fuß
Mei Violine nennst a Fied'l
Und mei Kunstwerk nennst a Liad'l
Doch ansonst fahlt si nix bei dir und mir
Naaa...

Paßt scho, paßt scho, paßt scho

I kauf dir nie an Schmuck
Und nie an Blumenstrauß
Doch wenn I di frag:
Wie halst des mit mir aus
dann sagst nur:

Paßt scho, paßt scho, paßt scho...
Gast #4252739
Lesenswert?

@r_u_d_i

danke für den Link, den kannte ich noch nicht, obwohl ich schon einiges 
an Zeit verbracht hatte, nach dieser oder einer ähnlichen 
Fehlersituation zu suchen.
Meine Initialisierung funktioniert, seit der Korrektur, (vor dem 
Geplänkel) , tatsächlich selbst mit den Sandisk Extreme Karten. Warum 
ich den CMD1-Kommand vor dem CMD8-Kommand gestellt hatte, weiß ich noch 
nicht.

Ich habe noch den einen oder anderen Fehler, "nach" der Initialisierung:

-- Auslesen des "Sector Count", die Werte die errechnet werden können 
nicht stimmen.
-- Eine SD Karte von 10 Unterschiedlichen Karten, lässt sich nicht 
beschreiben.

/@r_u_d_i


Eine vernünftige und plausible Antwort erwarte ich hier nicht mehr, 
schade eigentlich, denn das Forum und seine User haben mehr zu bieten 
als nur "das Gelaber" über Rechtschreibung und dass es fertige Libraries 
gibt und die Rückfrage, warum man mal wieder das Rad neu erfinden will 
(laaaaangweilig!!!).

.... stay tuned!



Viele Grüße aus dem hohen Norden.
#4253242
Lesenswert?

@ wolle g. (wolleg)

>> Nimm einfach eine fertige FAT Lib und gut. Die von Elm Chan kann ich
>> empfehlen.

>Ich würde gern eine "fertige" SDHC-Bibliothek verwenden. Gibt es dazu
>auch noch einen Link? Vorzugsweise für MSP430

Schon mal gegurgelt?

http://elm-chan.org/fsw/ff/00index_e.html

https://www.mikrocontroller.net/articles/MMC-_und_SD-Karten

>SD-Karten sterben ja langsam aus, so dass man auf SDHC angewiesen ist.

Elm Chan's FATfs kann auch SDHC, nur kein SDXC.
Gast #4253313
Lesenswert?

chris schrieb:
> ich weiß, es gibt unzählige Einträge für das Initialisieren von SDHC
> Speicherkarten, aber es führt mich keine wirklich zum Erfolg.

Nach dem Thema Doktorarbeit, sollten wir wieder zur Frage zurückkehren.

Wahrscheinlich verwendet Chris noch historische Leser oder alte SW dazu? 
Bei mir hat ein aktueller Kartenleser Wunder bewirkt um größere 
SD-Karten zu lesen. https://de.wikipedia.org/wiki/SD-Karte
#4253845
Lesenswert?

Falk B. schrieb:
> http://elm-chan.org/fsw/ff/00index_e.html
>
> https://www.mikrocontroller.net/articles/MMC-_und_SD-Karten
>
>>SD-Karten sterben ja langsam aus, so dass man auf SDHC angewiesen ist.
>
> Elm Chan's FATfs kann auch SDHC, nur kein SDXC.

Zunächst vielen Dank.
Evtl. habe ich es auf den angeführten Seiten übersehen. Ich suche etwas 
ähnliches wie im Anhang.
Vielleicht ist es für einen Experten leicht, die Dateien so zu ändern, 
dass man auch mit SDHC-Karten arbeiten kann.
Angehängte Dateien:
#4253924
Lesenswert?

@ wolle g. (wolleg)

>> Elm Chan's FATfs kann auch SDHC, nur kein SDXC.

>Zunächst vielen Dank.
>Evtl. habe ich es auf den angeführten Seiten übersehen. Ich suche etwas
>ähnliches wie im Anhang.

Dan mach de Glotzn offf!! 8-0

http://elm-chan.org/fsw/ff/ffsample.zip

Hier gibt es viele Beispiele, wenn gleich keins für den MSP430. Muss man 
halt selber anpassen, ist aber nicht allzu schwer.
Gast #4254100
Lesenswert?

@chris
Kleine Info am Rande, dürfte aber nicht soviel davon hier abhängen, aber 
trotzdem erwähnt:

Manche SD/SDHC Adapter oder vieleicht auch überwiegend,
ziehen den CS per Pullup z.B. über 10KOhm ( cs liegt über R auf Vcc+ )

Wenn im SoftCode eine Prüfung stattfindet, bevor SDHC init oder 
sonstwas,
ob der PIN 'frei' oder 'belegt' ist, dann findet der SoftTag ein High 
vor.

Beitrag "Re: IDE für ESP8266 mit vielen Example"

Das war ein Problem beim ESP8266 ( GPIO15 CS erwartet aber zum Booten 
ein Low ).

lg
;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren