FAT yapili SD karti okumak

Başlatan z, 30 Kasım 2013, 14:25:23

Elektroemre

Alıntı yapılan: muhittin_kaplan - 02 Aralık 2013, 10:20:32
Yok Yapmasın Demiyorum Yapsın.
"Yok Yapmasın Demiyorum Yapsın. Hobi olarak yine yapsın." diyeceksiniz ama zaten hobi olarak yapıyor z hocamız  :D

mistek

Onlarda elmchan varsa bizde de Z var. Dişe diş kana kan koda kod.

Güzel çalışma olmuş hocam sağolun. Özellikle Türkçe adım adım anlatmanız çok faydalı oldu.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

Ramiz

Alıntı yapılan: FxDev - 02 Aralık 2013, 10:19:30
Projelerde ilerledikçe insan şunu anlıyor; çok fazla kişi tarafından test edilmiş kütüphane en iyi kütüphanedir. Ha projeye özel bir şey vardır, hız/güvenlik vb. o zaman oturulup yazılabilir. Ben sadece ne farkı olduğunu merak ettim.

Fat kütüphanesi yazılabilir. Forumdan birkaç arkadaşta bunu yapmıştı hatta. Ben  sizin gibi düşünmemekteyim. Kendi yazdığınızın kütüphanenin buglarını yine siz temizlersiniz ve neyin ne olduğunu anlarsınız. Mesela ben oturup fat kütüphenesi yazsam, baby hallerindeyken bugları olacaktır. Zamanla temizlenipi büyüyecektir. O büyürken bende fat ın inceliklerini öğrenmiş olacağımdır. Fakat elmchan ı hazır olarak kullansam, üzerine hiç birşey ekleyemeceğim gibi o kodları oturup günlerce okusam, tam olarak ne yapıldığını asla çözemem..

Electrical & Electronics Engineering -> Step one

z

20uS lik akim donguleri olan motor vs endüktif yüklerin kontrolünu yapan programlarım o kadar guzel yerine oturdu ki yaklasik 13 senedir kulaniyorum ve test ediyorum. Bu denli kritik hiza sahip programa kurguları size olmayan program parçalari ile yama yapmak hic kolay degil.

SD den okuma programi da buna dahil.

Şimdi SD FAT programini istediğim gibi şekillendirebilirim. Senaryo nasıl olsa bana ait....

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

M_B

z hocam ;
Guzel olmuş klavyenize sağlık.
Sanırsam SD-Kutuphane.lib kutuphanesi bizlere kapalı ;)

İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

z

ASM ile yazdığım için aslında kapalı değil.  ;D
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

asm diyince nasılda hoşuna gidiyor.

z

#22
SD kartda dosya oluşturmak ve ardından içine dataları yazmak istiyorum.

Önce oluşturulmak istenen dosyanın SD kart içinde olup olmadığına bakacağız. Varsa en son cluster noyu öğreneceğiz.
Eğer dosyaya append işlemi olacaksa son cluster no olan 0xFFFF bilgisini silip yerine yeni cluster noyu vereceğiz. (Yeni cluster no nasıl tespit edilecek?)

Diyelimki SD kartta bu isimde dosya yok bu durumda yeni bir dosya adı oluşturacağız. Bunun Direktory entry de kaydını yaptık. Sıra geldi cluster noya.
FATde buna ilişkin kaydı yapmadan önce data alanında boş olan giriş noktasını bulmam lazım bu noktayı nasıl bulacağım? FAT'i baştan sona tarayıp kullanılmamış clusterları öğrenmek suretiyle mi tespit edeceğim?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

#23
SD karta yazma ile bir sikintim var ve bir haftadir cozemedim.

Aslinda write islemi SD karta her durumda yaziyor. Fakat Write ardindan Read yaparsam bazen sorun cikiyor ve okuma yapilamiyor.

Ben gene de sorunun Write komutundan kaynaklandigini dusunuyorum. Cunku write yapmazsam Read komutu her zaman dogru sonuclaniyor.

CMD24 (write) komutunu ve datalarimi yolluyorum CRCyi de yolladigimda bana E5 cevabi geliyor.  Bu verilerin kabul edildigi anlamina geliyormus.

Bu islem adindan CS hattini H yapip bir adet 0xFF yolluyor ve CMD13 ile status istiyorum.

Status olarak 00 FF FF FF FF 00 aliyorum. Status bu sekilde gelirse write ardindan read komutu dusgun calisiyor.
Fakat CMD13 cevabi bazen 05 FF ..... seklinde gelebiliyor.

Bu isin dogru siralamasi nasildir? Write komutu ardindan yazma isleminin tamamlandigini kesin olarak nasil anlarim?



mesaj birleştirme:: 15 Aralık 2013, 18:07:56

Keske gecen hafta sorsaymisim. Cevabi buldum.

Write islemi ardindan E5 cevabi aldigimi soylemistim. Bu andan itibaren FF yollayip FF alincaya kadar bu islemi tekrarladigimizda sorun cozuluyormus.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com