Ccsc ile SD Kart nasıl kullanılır, çalışan örnek devre, isis simulasyon & kod.

Başlatan RaMu, 22 Ekim 2014, 21:10:27

Mucit23

Şuan elimde en düşük 1gb ve 2gb kart var. Onlarla deneyeceğim. Aslında biraz acil bir iş olduğundan çözüm odaklı gidiyorum. Sizin bu başlıkta verdiğiniz kütüphaneyi projeme ekledim. En azından şuanda derlenebilen bir örneğim var.  Yarın tekrar bi bakacağım. Fakat anlamadığım birkaç nokta var

Kendiniz bazı bölümlere uyarılar eklemişsiniz. Bunun amacı nedir? Kütüphaneyi bilmediğimden ne yapmam gerektiğini bilmiyorum.
Boş SD kart içerisine TXT dosyası oluşturma ve içeriğine yazma nasıl yapacağım. Okuma işlemini anladım az çok ama yazma işi nasıl olacak? Dediğim gibi daha önce hiç sd kart ile çalışmadım sayılır.

RaMu

Bende pek hatırlamıyorum kütüphaneyi.
Kütüphaneyi yazan arkadaş
http://www.todopic.com.ar
forumunda yazan SUKY adlı üye.

Forumun bir çok yerinde bu kütüphane konuşulmuş,
İspanyolca forum ama google çeviri ile %95 ingilizceye dönüşüyor zaten.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Mucit23


Mucit23

Hocam dosya oluşturma işine baktım. İspanyol arkadaşın paylaştığı dosyalarda yazma işlemi yapmış.

http://rigodenshi.blogspot.com.tr/2010/05/using-sd-card-with-fat16-pic18f2550-and.html

Oradaki kodları ben kendi projemde denedim. Fakat sıkıntı var.

18F4550 için Bağlantılar

MOSI PinC7
MISO PinB0
SCK   PinB1
CS     PinC0

Bağlantılar doğru eminim. SPI haberleşmesi yapılıyor.

Boş SD karta dosya açmak için ispanyol arkadaşın verdiği kodları yazdım.
#include <18F4550.h>
#device ADC=10
#fuses HS,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV2,VREGEN,NOBROWNOUT // 20MHZ
#use delay(clock=10000000)
#use rs232(baud=9600, xmit=PIN_D6,rcv=PIN_D7)

#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)

#include <lcd_driver.c>
#include "FAT16_3_v18.c" 


void main()
{

char NombreArchivo[13]="Datos   .txt";  //Name of the file to create
int16 UbicacionFolder;
char Texto1[50]={"******ADC Data**********\r\n"};

   set_tris_a(0x00);
   set_tris_b(0x01);
   set_tris_c(0x00);
   set_tris_d(0x00);
   output_a(0x00);
   output_b(0x00);
   output_c(0x00);
   output_d(0x00);
   
   lcd_init();  
   InitHard_SDCard (); 
   delay_ms (1000); 
   
   SDCard_init ();
   FAT_init ();

   printf(lcd_putc,"\f");
 
   lcd_gotoxy(1,1);
   printf(lcd_putc,"SD_KART Test");

   if(FAT_CreateFile(NombreArchivo,NombreArchivo,UbicacionFolder,Texto1)==0){
        lcd_gotoxy(1,2);
        printf(lcd_putc,"Basarisiz");
   }
   else
   {
        lcd_gotoxy(1,2);
        printf(lcd_putc,"Basarili");   
   }

   
   while(TRUE)
   {

   }

}


Sonuç olarak Yazma fonksiyonu başarılı bir şekilde geri dönüyor ama SD karta herhangi bir dosya açılmıyor.. Şuan Elimde sadece 2GB sD kart var onunla deneme yapıyorum. 1GB vardı ama o bozuk çıktı.

Başka dikkat etmem gereken noktalar varmı? Çalışan bir kütüphane arıyorum.

RaMu

Programı görünce hatırladım,
sanırım bu programıda denemiştim gerçek devrede,
Datos klasörünü oluşturup içine txt dosyası oluşturuyor ve
txt nin içine Texto1[50]={... dizisinde ne yazıyorsa onu yazıyordu.

Muhtemelen SD kart init olmuyordur,
sd kart desekte hepsine,
karttan karta, çok farklı init rutinleri olabiliyor.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

RaMu

Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html