Protonda SD kart kullanımı

Başlatan Mucit23, 06 Temmuz 2011, 16:28:40

Mucit23

Arkadaşlar SD kart kullanımı ile ilgili birazcık bilgiye ihtiyacım var. Fat dosya sistemi hakkında hiç bilgim yok malesef. Fat16-32 dosya sistemlerini öğrenmeye çalışıyorum. Ayrıca SD kartın veri depolama yapısı sektörler hakkında öğrenmek istediğim birçok konu var. Şimdilik ufaktan başlıyarak sd kart içerisinde bir text dosyası oluşturup içine bazı veriler yazmak istiyorum. Sizce nereden başlamalıyım Beni bu konuda yönlendirirseniz sevinirim?

tyilgin

İlk olarak fat dosya sistemini öğrenmeniz gerekiyor.

Hızlıca yazabileceklerimi size iletmeye çalışayım, (çok uzun yıllar önce uğraşmıştım,yanlışlarım olursa affola)
Once boot sectoru okuyacaksınız. Burası diskin 0. sectörüdür. Burada Root,Fat,Data sectörlerin yerini bulacaksınız
root sectör : buradan kök klasördeki dosyaların ve klasörlerin isimleri ve hangi clusterlarda olduğunu okuyacaksınız.
fat sector : buradan ilk cluster'ini okuduğunuz datanın zincirlerinin (2-3-4-..... parçalarının) hangi clusterda olduğunu okuyacaksınız
data sector : buradan da ilgili cluster'ı bulup ihtiyacınız olan datayı okuyacaksınız.

Hazır kütüphanelerden nefret ederim ancak, yeni bir şeye el atınca hazır kütüphaneleri tercih ederim. Böylece üzerinde çalışacağınız donanımların kusuru olmadığını bileceğiniz için, çalıştıramama durumunda kusurun tamamının yazılımınızda olduğundan emin olursunuz.

saygılar...

KONYALI

@Mucit23
Hocam Swordfish Basic derleyicisini kullandınız mı? Protonla neredeyse aynı yapıda  ve harika bir SD kütüphanesi var. Bu yıl tasarım projemde kullandım gerçekten çok hoş bir kütüphane ve pek çok fonksiyonu var tavsiye ederim. Forumda full versiyon swordfish basic var aratırsanzı çıkar. Hazır kütüphane kullanmayı bende pek sevmem ama amerikayı yeniden keşfetmeye gerek yok:D

Mucit23

Hocam haklısınız. Swordfish i daha önce incelemistim. Gerçektende sd kart kullanımını çok kolaylastirmislar. Yanlız şimdilik benim isime pek yaramıyor. Daha önce protonla kapsamlı bir proje yapmıştım. Aynı  proje üzerinde şimdi datalogger benzeri ek bir özellik eklemek istiyorum. Programı yeniden yazmak ile uğraşmak istemiyorum. Programı swordfish e adapte etmek için harcıyacagim zamanı protonda sd kart kullanımını öğrenmek için harcamak istiyorum. Ama farkettimki daha çok eksiğim var. Fat dosya sistemi hakkında türkçe kaynağa ihtiyacım var.

-Hasan-

http://www.barissamanci.net/AltKategori/10/her-yonuyle-fat32/
Barış Samancı Hocamız FAT ' ı tam ayrıntılı bir şekilde anlatmış, bu adresten pdf halindeki dökümanı indirebilirsiniz.

Kolay Gelsin

pcb

#5
TXT dosyası şeklinde uygulama sana yetecekse proton için hazır kodlar var daha doğrusu kütüphane, SD_FILE_SYSTEM diye ararsan bulabilirsin , bir kaç yıl evvel kullanmıştım çok iyi çalışıyor TXT uzantılı istediğin isimde dosya açabiliyor, istediğin bilgiyi kayıt edebiliyor.
bu kütüphaneyi kullanırken dikkat edilecek olan karta yazma-silme-format gibi komutların bir işlem sırasında yapılması, not olarak eklenmişti komutların açıklandığı kısımda

Fat sistemini öğrenmek kısa sürede bitirilecek bir konu değil

frederic

Protonun resmi sitesinde sd kütüphanesi var inceleyin isterseniz.

Mucit23

Arkadaşlar teşekkür ederim. Barış samancı fat dosya sistemi hakkında güzel bi türkçe kaynak sunmuş. Protonun kendi sistesindende sd kütüphanesini indirdim.
Birde arkadaşlar protonun help dosyasını ve bazı kitapları incelerken bu CF kartlar gözüme çarptı. Sanırım Protonun bunada desteği var. Hatta örnek uygulama ile açıklanmış. Şimdi Bu cf kartların SD kartlara göre artsı veya eksileri nelerdir. Hafıza boyutları ne kadar oluyor.

-Hasan-

Alıntı yapılan: KONYALIHocam Swordfish Basic derleyicisini kullandınız mı? Protonla neredeyse aynı yapıda  ve harika bir SD kütüphanesi var. Bu yıl tasarım projemde kullandım gerçekten çok hoş bir kütüphane ve pek çok fonksiyonu var tavsiye ederim. Forumda full versiyon swordfish basic var aratırsanzı çıkar. Hazır kütüphane kullanmayı bende pek sevmem ama amerikayı yeniden keşfetmeye gerek yok :D

Alıntı yapılan: pcbbir kaç yıl evvel kullanmıştım çok iyi çalışıyor TXT uzantılı istediğin isimde dosya açabiliyor, istediğin bilgiyi kayıt edebiliyor.

Merhaba arkdaşalar; çalışan bir örneğinizi paylaşır mısınız? SD kartlarla yeni uğraşmaya başladım ve dün ASM ' de kartı initalize bile edemedim. Çalışan kodu sırf donanımımdan emin olmak için istiyorum. Çalışan basit bir örnek verebilirmisiniz?

Andromeda

" Tanrı, iradesini hakim kılmak için yeryüzündeki iyi insanları kullanır, yeryüzündeki kötü insanlar ise kendi iradelerini hakim kılmak için Tanrı'yı kullanırlar." ..." Tanrı'dan mesaj gelmiyor, biz Tanrı'ya mesaj gönderiyoruz"

Maxim

Hic kullanmadim ama protonun bu is icin library dosyasi var diye hatirliyorum

Mucit23

Arkadaşlar Belki daha önce görmüşsünüzdür. Protonun Sd kart kütüphanesi hakkında bazı bilgiler buldum.
Burada bazı açıklamalar ve kütüphane dosyalarını vermişler
http://wiki.picbasic.org/index.php?n=LibraryManager.SDFileSystem
Linkte örnek bir programda vermişler.
Dün akşam çok uğraştım  ama Sd kütüphanesini nasıl benim pc deki proton kütüphanesine ekleyeceğimi bulamadım. Bu konuda bana yardımcı olursanız sevinirim.

pcb

#12
önce sd_file_system_library dosyasındaki programı çalıştırıp, START INSTALLATION tıklayarak kuruyorsun sonra proton da
library manager ı aktif hale getiriyorsun. aktif olunca yeşile dönüyordu ikon birde windows görev çubuğunda library manager aktif olduğunu gösteren bir kutucuk çıkıyordu diyebilirim.
View/Plugin/library manager dan ulaşabilirsin.
programda Include "SD_MMC_Read_File_Lib.pbp" ekli olmalı. ben eski programa baktığımda başka dosyalarda gördüm ama neden farklı isimlerde kullandığımı hatırlayamadım.

dosya açma - yazma - silme - format gibi fonksiyonlar için bir sırayı takip etmek gerekliydi diye hatırlıyorum, örneğin MSDOS programında eskiden kullanırken C:\ altındaki bir A dosyasını D:\ altındayken silemiyorduk C ye geçmek gerekiyordu , bunun gibi bir sırası vardı. sd_file help pdf dosyasında ayrıntılı yazıyor.

SD_FILE_SYSTEM ilk kuranlar için can sıkıcı, çalıştırılamayan bir program olarak görülür çok uğraşmıştım. lisans olmayınca cevapta vermiyor yasal sitedekiler.

3.5.2.5 de library manager ı çalıştıramadığımdan detaylı yardımcı olamıyorum.

Mucit23

Protonun verdiği örnek kodu derlemeye çalışıyorum.
Bendeki Compiler Versiyon 3.4.0.8
Library manageri tarif ettiğiniz yerde bulamıyorum. Protonun Sd kütüphanesi sadece belirli versiyonlardamı çalışıyor?

Ayrıca Protonun Library dosyası içerisindeki SD_File_System.pbp dosyasını protona tanıttım. Derlediğimde resimdeki gibi hatalar alıyorum.


Derleyici yazılan programda hata vermiyor. SD_File_System.pbp dosyasında bazı yerlerde hata veriyor.

Kodlar ;
Device = 18F4550
Xtal = 20
'-----------------------------------------------------------
All_Digital = TRUE
'-----------------------------------------------------------
Hserial_Baud = 115200                                       'Setup RS232 port
Hserial_RCSTA = %10010000                                        
Hserial_TXSTA = %00100100
'-----------------------------------------------------------
Dim Response As Byte
Dim SD_IO As Byte
'-----------------------------------------------------------
Symbol SD_CS = PORTD.2                                      'SPI CS to SD CS (SD pin 1)
Symbol SD_DI = PORTD.5                                      'SPI DO to SD DI (SD Pin 2)
Symbol SD_CLK = PORTD.3                                     'SPI CLK to SD CLK (SD Pin 5)
Symbol SD_DO = PORTD.4                                      'SPI DI to SD DO (SD Pin 7)
'-----------------------------------------------------------
Include "SD_File_System.pbp"                          'Include managed library file 
'-----------------------------------------------------------
GoTo Over_Sub                                               'Jump over the subroutines
'-----------------------------------------------------------
Over_Sub:                                                   
    DelayMS 200
'-----------------------------------------------------------
Main_Prog:
    HSerOut ["INSERT SD OR MMC",13]
    Repeat 
        Response = SD_Init_FS
    Until Response = 0
    HSerOut ["OPENING FILE",13]
    SD_File_Name = "TEST001"                                'File Name, upper case only!
    SD_File_Ext = "TXT"                                     'File Ext, upper case only!  
    Response = SD_Open_File
    If Response = 1 Then
        HSerOut ["FILE NOT FOUND",13]
        Stop
    EndIf
    HSerOut ["FILE OPEN",13]
    While SD_EOF < 1
        Response = SD_Read_Byte_From_File
        HSerOut [Response]
    Wend   
'-----------------------------------------------------------
Finish:
  HSerOut [13]
  HSerOut ["FINISHED",13]
  Stop

Mucit23

Ayrıca Nedense  protonun Help Menüsünde SD kart ile ilgili hiçbir içeriğe ulaşamıyorum. SD kart kütüphanesini yüklediğim zaman Help dosyasınıda yüklemesi gerekmiyormu. SD_File_System programını çalıştırdığım zaman PDS>Library klasörünün içerisinede Sd kart help menüsü görünüyor.