Forum: Mikrocontroller und Digitale Elektronik Bekomme SDHC nicht initialisiert


von chris (Gast)


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

von Falk B. (falk)


Lesenswert?

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

von Jim M. (turboj)


Lesenswert?

Die Initialisierungsequenz von SHDC fängt mit CMD0 CMD8 an. CMD1 wird 
hier nur noch für MMC Karten benutzt, SD sieht ACMD41 stattdessen. 
Übrigens hat der Parameter bei ACMD41 den Wert 1UL<<30, die 0x4000 
dürften falsch sein, da fehlen etlich Nullen.

von chris (Gast)


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!

von chris (Gast)


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

von Falk B. (falk)


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.

von Jim M. (turboj)


Lesenswert?

Wenn Du was lernen wills: Warum dann nicht in die originalen Specs auf 
sdcard.org reinschauen?

von chris (Gast)


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.

von Falk B. (falk)


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?

von chris (Gast)


Lesenswert?

@Falk Brunner
wir reden aneinander vorbei.

von r_u_d_i (Gast)


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 ;-)

von Falk B. (falk)


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.

von chris (Gast)


Lesenswert?

Ach wie schön verschieden Menschen eben sein können.
Schön, dass es so viele davon gibt... ;-)

lasst es ruhiger angehen...

von r_u_d_i (Gast)


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

von Falk B. (falk)


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

von Falk B. (falk)


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 . . .  ;-)

von r_u_d_i (Gast)


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' ..

von r_u_d_i (Gast)


Lesenswert?

Falk B. schrieb:
> Naja, böse Zungen würden jetzt hier Stichworte wie Gutenberg und
> Geschwätzeswissenschaften in den Raum werfen . . .  ;-)

Dann verschlucke die deine - ganz einfach.

von Falk B. (falk)


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!

von r_u_d_i (Gast)


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.

..

von Bernd (Gast)


Lesenswert?

Rudi, Rudi - wo bleibt bloss deine sprichwörtliche Contenance?

von r_u_d_i (Gast)


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!

;-)

von r_u_d_i (Gast)


Lesenswert?

Bernd schrieb:
> Rudi, Rudi - wo bleibt bloss deine sprichwörtliche Contenance?

wieder da .. ist doch wahr.
respekt vor falk brunner - aber er kann es nicht - basta ;-)
..

von r_u_d_i (Gast)


Lesenswert?

r_u_d_i schrieb:

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


vieleicht bringt das noch was:

http://www.microchip.com/forums/m776096.aspx

..

von r_u_d_i (Gast)


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...

von Aufpasser (Gast)


Lesenswert?

Rudis SHIFT-Taste klemmt nicht mehr.

SCNR

von r_u_d_i (Gast)


Lesenswert?

Aufpasser schrieb:

> SCNR

IBADANI

;-)

von chris (Gast)


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.

von Wolle G. (wolleg)


Lesenswert?

Falk B. schrieb:
> 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
SD-Karten sterben ja langsam aus, so dass man auf SDHC angewiesen ist.

von Falk B. (falk)


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.

von oszi40 (Gast)


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

von Wolle G. (wolleg)


Angehängte Dateien:

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.

von Falk B. (falk)


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.

von r_u_d_i (Gast)


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
;-)

von r_u_d_i (Gast)


Angehängte Dateien:

Lesenswert?

@chris:
vieleicht auch recht aufschlussreich.

src:
http://alumni.cs.ucr.edu

von Wolle G. (wolleg)


Lesenswert?

r_u_d_i schrieb:
> @chris:
> vieleicht auch recht aufschlussreich.

Vielleicht habe ich wieder etwas übersehen. 
Hier(sdcard_appnote_foust.pdf) finde weder eine Beschreibung  noch ein 
Programm zur SDHC-Karte, nur SD

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
Noch kein Account? Hier anmelden.