# Cits ... >  SD kartes gļuki

## sasasa

Problēma tāda - Ieraksta ESP8266 microSD kartē csv failu. Fails tur ir. Ja pārbaudu ar to pašu ESP8266 vai Arduino, tad viņi failu redz un datus arī, bet Windows& citreiz redz, bet citreiz (biežāk) neredz ierakstītos failus. Izlaižot caur windows error-checking kaut kas tiek salabots un faili top redzami, kaut arī ne vienmēr un citreiz windows atsakās karti vispār atvērt. Īsāk sakot esmu jau izlamājies te visādos mātes vārdos, bet problēmas cēloni tā arī neatkodu. Es saprastu, ja arī Arduino un ESP8266 neredzētu, bet tur tas āķis, ka tie draņķi redz visu ka nākas. Citreiz pat ir tā, ka paiet kāds laiciņas (5 min) un pēkšņi Windows ierauga tos failus, tad atkar redzēt redz, bat nevar atvērt. Vēl pēc laiciņa (dažreiz) viss verās vaļā un Exlelī lasās. %#^%$@^%&^%@&%$@
Varbūt kāds ir saskaries ar ko līdzīgi? Google neko nestāsta.
Kartīte maza - FAT 512mb
Mēginaju formatēt gan windowsā gan ar SDFormater - rezultāts viens  :: 
Svaigs piemērs.
Uz Arduino (ieraxtīts uz ESP8266) pat ar demo kodu bez jebkādas aizķeršanās parāda šo


```
Initializing SD card...Wiring is correct and a card is present.

Card type: SD2


Volume type is FAT16


Volume size (bytes): 507117568
Volume size (Kbytes): 495232
Volume size (Mbytes): 483


Files found on the card (name, date and size in bytes): 
DATA000.CSV   2000-01-01 01:00:00 14048
DATA001.CSV   2000-01-01 01:00:00 14146
DATA002.CSV   2000-01-01 01:00:00 13988
```

 

```
Initializing SD card...initialization done.DATA001.CSV:
0 ; 0.78 ; -1.94 ; -0.57 ; -0.31 ; -0.08 ; 0.03 ; 
1 ; 0.78 ; -1.94 ; -0.56 ; -0.31 ; -0.08 ; 0.04 ; 
2 ; 0.78 ; -1.94 ; -0.57 ; -0.31 ; -0.08 ; 0.03 ; 
3 ; 0.79 ; -1.94 ; -0.57 ; -0.31 ; -0.08 ; 0.03 ; 
4 ; 0.79 ; -1.94 ; -0.57 ; -0.31 ; -0.08 ; 0.04 ; 
5 ; 0.79 ; -1.94 ; -0.57 ; -0.30 ; -0.08 ; 0.03 ; 
6 ; 0.79 ; -1.94 ; -0.57 ; -0.30 ; -0.08 ; 0.03 ; 
7 ; 0.79 ; -1.94 ; -0.56 ; -0.30 ; -0.08 ; 0.03 ; 
8 ; 0.79 ; -1.94 ; -0.57 ; -0.31 ; -0.08 ; 0.04 ; 
9 ; 0.79 ; -1.94 ; -0.57 ; -0.30 ; -0.07 ; 0.03 ; 
10 ; 0.79 ; -1.94 ; -0.57 ; -0.31 ; -0.08 ; 0.03 ; 
11 ; 0.79 ; -1.94 ; -0.57 ; -0.31 ; -0.09 ; 0.03 ; 
12 ; 0.79 ; -1.94 ; -0.57 ; -0.31 ; -0.08 ; 0.03 ; 
13 ; 0.78 ; -1.94 ; -0.57 ; -0.31 ; -0.08 ; 0.03 ; 
14 ; 0.79 ; -1.94 ; -0.57 ; -0.30 ; -0.08 ; 0.03 ; 
15 ; 0.78 ; -1.94 ; -0.57 ; -0.31 ; -0.08 ; 0.03 ; 
16 ; 0.79 ; -1.94 ; -0.57 ; -0.31 ; -0.08 ; 0.03 ; 
17 ; 0.79 ; -1.94 ; -0.57 ; -0.31 ; -0.08 ; 0.03 ; 
18 ; 0.79 ; -1.94 ; -0.57 ; -0.31 ; -0.08 ; 0.03 ; 
19 ; 0.79 ; -1.94 ; -0.57 ; -0.32 ; -0.08 ; 0.03 ;
```

 Windows sūka ledu un sākumā neredz absolūti neko pēc  5min redz failus un to lielumu, bet nevar neko nolasīt

----------


## Kodolskiltava

Ja Tu saki, ka WIN var to kartiņu salabot un tad redz visu OK, nu, nez, var būt sākumā nolasi kartiņas fizisku imidžu, nu, nezinu, piemēram, linuksī ar dd, izdari WIN lai salabo un kad viss strādā, uztaisi vēl vienu imidžu un salīdzini rezultātus. Var būt būs kādi pavedieni.

----------


## sasasa

Atklājās kaut kādi SD ierakstīšanas gļuki - pēc kāda laika vai arī datu apjoma (nenoteikta)  pēkšņi kartē sāk rakstīt lielā apjomā kaut kādu sviestu. Īsiem pierakstiem (līdz100 rindām to nemanīju). Citreiz gļuks sākas pēc 223 rindas, ctreiz pēc 228-tās, citreiz pēc 156-tās. 
Vienalga nesaprotu uz kur pusi rakt. Log fails no seriala ierakstīšanas procesā rāda ka viss kārtībā, bet kartē pavisam citādi
Serial loga dati


```
a/g: 218 0.77 -1.02 0.56 -0.33 -0.07 0.03
a/g: 219 0.77 -1.02 0.55 -0.34 -0.08 0.02
a/g: 220 0.77 -1.02 0.56 -0.33 -0.07 0.02
a/g: 221 0.77 -1.01 0.56 -0.33 -0.08 0.02
a/g: 222 0.77 -1.01 0.56 -0.37 -0.07 0.02
a/g: 223 0.77 -1.01 0.56 -0.34 -0.08 0.02
a/g: 224 0.77 -1.02 0.56 -0.35 -0.06 0.02
a/g: 225 0.77 -1.01 0.56 -0.33 -0.08 0.03
a/g: 226 0.77 -1.02 0.56 -0.34 -0.07 0.02
a/g: 227 0.77 -1.02 0.55 -0.34 -0.06 0.02
a/g: 228 0.77 -1.01 0.56 -0.36 -0.06 0.02
a/g: 229 0.77 -1.02 0.56 -0.34 -0.07 0.03
a/g: 230 0.77 -1.03 0.55 -0.34 -0.07 0.02
a/g: 231 0.76 -2 0.86 -11.48 -8.11 16.49
a/g: 232 1.16 -0.73 0.82 -32.66 4.49 48.92
a/g: 233 1.39 -0.55 -0.46 11.52 -5.1 35.2
a/g: 234 0.88 -0.25 1.33 32.04 -27.57 29.24
a/g: 235 0.55 -0.55 0.38 3.68 -2.19 13.92
a/g: 236 0.87 -0.63 0.49 5.03 -3 9.71
```

 SD kartes datu apakšgals, nolasīts ar Arduino, jo izrādās ka ne vienmēr Windows var salabot karti  :: 


```
217 ; 0.77 ; -1.01 ; 0.56 ; -0.34 ; -0.08 ; 0.02 ; 
218 ; 0.77 ; -1.02 ; 0.56 ; -0.33 ; -0.07 ; 0.03 ; 
219 ; 0.77 ; -1.02 ; 0.55 ; -0.34 ; -0.08 ; 0.02 ; 
220 ; 0.77 ; -1.02 ; 0.56 ; -0.33 ; -0.07 ; 0.02 ; 
221 ; 0.77 ; -1.01 ; 0.56 ; -0.33 ; -0.08 ; 0.02 ; 
222 ; 0.77 ; -1.01 ; 0.56 ; -0.37 ; -0.07 ; 0.02 ; 
223 ; 0.77 ; -1.01 ; 0.56 ; -0.34 ; -0.08 ; 0.02 ; 
224 ; 0.77 ; -ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
```

 tie "ÿ" simboli gan tur miljons -  šeit izgriezu tik fragmentu
Dīvaini ka Arduīnu tomēr netraucē to nolasīt.
Iepriekš rakstīju txt failus un viss bija kārtībā. Varbūt šim nepatīk csv formāts? Jāpamēģina txt visu to raxtīt.

----------


## JDat

Man nesen bija problēma ar SD.h bibliotēku. Gļuks: negribēja ne par ko lasīt. Nepētīju kur ir problēma. Novilku no Adafruit Github repozitorija pačotu versiju un strādā.

----------


## sasasa

> Ja Tu saki, ka WIN var to kartiņu salabot un tad redz visu OK, ....


 Laikam tā bija tikai sagadīšanās - tagad vairs Windows neparko never vaļa tos failus.
-
Billiotēkas pamainīju, csv pārsaucu par txt - bez izmaiņām  ::   Pinīgs sviests.

----------


## sasasa

Izrādījās, ka šis (un varbūt ka vēl bibliotekas, lai gan tās pamainot nekas nenotika)

ir baigi jūtīgs uz dažādām kartēm. No 3 man esošajām microSD - viena gļuko kā raxtīju augstāk, otru Arduins vispār neredz, lai gan Windows un telefons ar viņu strādā, un tikai trešā darbojas bez bēdu  ::

----------


## JDat

Man ir stipri līdzīgs no salvata. Ar Kingston 16 GB kartēm strādā. Protams, Adafuit SD bibliotēka. Kas attiecas uz "jūtīgumu" (nenoturējos), pamēģini pa taisno pieslēgt SD karti. Platīte ir stulba kā zābaks, jo tur ir tikai level shift mikrene.

----------


## sasasa

Bet kas tad pie vainas, ka citas kartes iet, bet citas neiet? Bibliotekas? Man līdzīga problēma bija ar audio modulī§iem, kuros liekas iekšā microSd karte.

----------


## JDat

Pamēģini samazināt clock frekvenci kartei.

Attiecībā uz audio spēlētājiem: Tika izmantoti gan attiny85 spēlētāji, gan ar attiny861 copy/paste variantā. Viss strādā. Protams, tur nevajag nekādu extra platīti. Uzliekam SD vai microSD soketu un aiziet.

Pamatā ir Kington un Transcend SD kartes, bet arī ar citām nav bijušas problēmas.

----------


## sasasa

Es ar šitādiem paspēlējos. Viss forši, neaizņem lieki mcu resursus, saprot mp3, bet diemžēl negāja neviena karte kas lielāka par 2GB, un pie tam arī atsevišķu ražotāju kartes neņēma pretī. Tad ej nu saproti, vai bibliotekas vaina vai kas cits. Bet visādā veidā noderīga mantiņa.

----------


## JDat

Kā nestrādājoša mantiņa var būt noderīga?

Starp citu, ja jau lieto visādus breadboard un vadiņus maketēšanai, tad iesaku samazināt SCK frekvenci, tas varētu palīdzēt, jo kā zināms, tad 1 MHz SCK signāls pa puņu vadiem un saspraustiem breadbordiem sūdīgāk ceļo ne kā pa īsiem ceļiņiem uz izkodinātas PCB.

----------


## sasasa

> Kā nestrādājoša mantiņa var būt noderīga?
> .


 Nav jau tā ka nestrādājoša, tik tas FAT un kartes apjoma ierobežojums <=2GB . Ja pašam (mcu) vajag dekodēt, tad tas aizņem laiku un resursus, bet tā padod tik komandu un viss notiek.
--
Drusku nesapratu par to SDkartes lasīšanu - ja man viss darbojas uz 3.3V, tad lodēju tikai ligzdu un pa taisno slēdzos pie kartes galiem un lasu/rakstu, vai tur tomēr jāliek kādi buferi vai kas cits pa vidu? Cik te pa Googli skatos, tad tur visādi varianti un nesaprotu vai tas viss vajadzīgs

----------


## JDat

3.3V gadījumā nekādus buferus nelietoju. MCU uz SD karti pa taisno un miers. Galvenais lai nav gari vadi un vadu mudžeklis. Ja Slēdz SD karti, kura strādā tikai no 3.3V (savādāk nemēdz būt) pie Arduino UNO, kurš strādā ar 5V, tad gan pa vidu vajag buferus, lai uz SD karti nejauši nepadod 5V.

----------


## sasasa

Drusku te nesaprašanas ar microSD kartes pieslēgšanu. Šobrīd viss strādā, bet lai neradītu problēmas arī turpmāk - Vai visi nevajadzīgie gali jāsavieno ar + vai GND caur pretestībām vai var atstāt gaisā. Runju par 1, un 8 kontaktu (DAT1 un DAT2).
Pieslēgties gali laikam jau ar pullup pievilkti pie barošanas.

----------

