potřebují pomoc při microSD karty rozhraní

K

karthi_keyan

Guest
hai všechny,

Já používám 2GB kartu přesáhnout & snažím rozhraní s mirocontroller řady PIC24F (3,3 V). Když se snažím odeslat (CMD0-RESET), pin SDO se dává nízké napětí data úrovni (1.7V) a já vytáhnout, že pin s (10k (nebo) 100K), to šlo na vysoké state.so am prospěch nějaké jiné reakce namísto 0x01. prosím někdo pomoci mne až k brynda tato otázka.

jde,
KARTIKN

 
ahoj

Myslím, že u dont muset vytáhnout výstupní pin nebo PIN karty ur sdcard jako ur mikrokontrolér a sdcard pracují se stejnou napěťovou úroveň

2 - odpověď 0x01, kdy obdržel znamenat ur karta není detekována tak u mohou ochutnat ur rada připojení na které softwate (zapnout vedl, když odpověď není rovno 0x01)

3 - Zkontrolujte, zda je ur SPI funguje dobře

To je reset příkaz například

/ * Nyní poslat CMD0 - jít do klidového stavu * /
/ / Všechny argumenty jsou 0x00 pro reset příkaz
x = SPI (0x40); / / poslat příkaz reset
x = SPI (0x00);
x = SPI (0x00);
x = SPI (0x00);
x = SPI (0x00);
x = SPI (0x95); / / precalculated kontrolní součet, jak jsme stále v režimu MMC

if (SDC_response (0x01) == 1) return 1; / / SDC neprokázány

porta.f2 = 0; / / LED na

doufám, tato odpověď pomůže u

Reda

 
díky Reda ....
skutečně problém s modes.i SPI stále SCK, SMP bitů vysoké a testovány s minimálním datarate .... to dá opravit response.these kroky pomohou ti, kdo usilují SD rozhraní.

li ur init cmd nedává 0x01 .. u převýšení jít dále. následujících kroků vám pomůže,
Krok 1: U ll nedostane odpověď na první průchod ..takže psát takhle,
dělat
(
if ((Command (0x40, 0x00, 0x00, 0x00, 0x00, 0x95) == 0x01)) / / CMD0 na reset a aby CRC nic / / Ned
break;
) Zatímco ( k <100);
Krok: 2
použít příkaz definovat ur délky bloku, minimum 512.
dělat
(
if ((Command (0x58, 0x00, 0x00, 0x00, 0x00, 0xFF)) == 0x00) / / CMD, aby se z idele režimu
break;
) Zatímco ( k <100);POZNÁMKA: Command funkce procesu 6 bytů
byte 1: cmd Num
byte 2-5:32 bit adresy
byte 6: CRC
tebe ne potřebovat až k trápit se kolem 32 bit adresu.to může být definovat přímo bloku number.like této .....
Adresa = 512 * block_number;
AddMH = adresa>> 24;
AddML = adresa>> 16;
AddLH = adresa>> 8;
AddLL = Adresa (vždy 0x00)
S pozdravem,
KARTIKN.

 

Welcome to EDABoard.com

Sponsor

Back
Top