FATFS kütüphanesinde klasör içine .txt yazamaz mıyız?

Başlatan argelojik, 06 Ekim 2018, 20:57:12

argelojik

Merhabalar Fatfs kütüphanesi ile uğraşıyorum 2 gündür. Yarattığımız bir klasörün içine txt dosyasını yazdırmayı başaramadım. Ana dizine yazdırıyorum. Ama klaör içinde olmuyor. Eski konulara da baktım ama bulamadım. Yardımlarınızı bekliyorum. Teşekkkürler...
res = f_mkdir("0:Yeni"); 
res = f_opendir(dir, "0:Yeni");
if(f_open(SD_Dosya, "STM32.TXT", FA_CREATE_ALWAYS | FA_WRITE) != FR_OK)
Bu şekilde dosyayı oluşturuyorum.
Böyle dizin değiştiremez miyim?
Sonra da bu kod ile STM.32.TXT dosyası oluşturuyorum. Ama bu dosya ana rootta oluşuyor. Klaörün içinde oluşturmak istiyorum.

(Bu arada konuya kodu eklerken pointer işaretçisi kabul olmuyor.Bu işaretten sonrasını görmüyor.)


argelojik

Alıntı yapılan: argelojik - 06 Ekim 2018, 20:57:12Merhabalar Fatfs kütüphanesi ile uğraşıyorum 2 gündür. Yarattığımız bir klasörün içine txt dosyasını yazdırmayı başaramadım. Ana dizine yazdırıyorum. Ama klaör içinde olmuyor. Eski konulara da baktım ama bulamadım. Yardımlarınızı bekliyorum. Teşekkkürler...
res = f_mkdir("0:Yeni"); 
res = f_opendir(dir, "0:Yeni");
if(f_open(SD_Dosya, "STM32.TXT", FA_CREATE_ALWAYS | FA_WRITE) != FR_OK)
Bu şekilde dosyayı oluşturuyorum.
Böyle dizin değiştiremez miyim?
Sonra da bu kod ile STM.32.TXT dosyası oluşturuyorum. Ama bu dosya ana rootta oluşuyor. Klaörün içinde oluşturmak istiyorum.
(Bu arada konuya kodu eklerken pointer işaretçisi kabul olmuyor.Bu işaretten sonrasını görmüyor.)

Çok ilginç.2 gün uğraşıyorum, olmuyor sorunu çözeniyorum. Buraya sorunu yazdıktan sonra,  yayınlanıncaya kadar kendim çözümü buluyorum. Çok basit bir sorun ama inanın 2 gün uğraştım. Çünkü kütüphaneyi tam tanımıyordum.
char My_Path[] = "/New_File/TEST.TXT\0";


if(f_mount(&SDFatFS, "", 1) != FR_OK) 
 {
 Error1();
 }

 res = f_mkdir("New_File\0");

 if(f_open(&SD_Dosya, My_Path, FA_CREATE_ALWAYS | FA_WRITE) != FR_OK)
 {
 Error1();
 }
 res = f_write(&SD_Dosya, writetext, sizeof(writetext), (void *)&byteswritten);
 if((byteswritten == 0) || (res != FR_OK))
 {
 Error1();
 }

 f_close(&SD_Dosya);
 res = f_mount(0, "", 1);