NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 2551 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 4 از 4

موضوع: کتابخانه chan برای FATFs

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Apr 2017
    نوشته ها
    21
    تشکر
    5
    تشکر شده 0 بار در 0 پست

    پیش فرض کتابخانه chan برای FATFs

    سلام
    من میخواستم یه دیتایی رو روی یک میکرو اس دی 8 گیگ با کتابخونه chan بنویسم با میکرو stm32f107 ولی اصلا فایلی ایجاد نمیکنه
    کد من روی میکرو اس دی 4 گیگ استفاده شده
    میخواستم ببینم باید از ورژن خاصی استفاده کرد واسه میکرو اس دی های مختلف؟؟
    کد من اینه:




    #include "diskio.h"
    #include "ff.h"
    #include "stdio.h"
    #include "bsp.h"
    #include "ff_gen_drv.h"
    #include "drivers/sd_diskio.h"




    //printf init
    struct __FILE { int handle;} ;


    FILE __stdout;
    FILE __stdin;
    FILE __stderr;


    int fputc(int ch, FILE *f)
    {


    while(!USART_GetFlagStatus(COM2,USART_FLAG_TXE));

    USART_SendData(COM2,ch);

    return ch;
    }


    PARTITION VolToPart[] = {
    {0, 1}, /* Logical drive 0 ==> Physical drive 0, 1st partition */
    {0, 2}, /* Logical drive 1 ==> Physical drive 0, 2nd partition */
    {1, 0} /* Logical drive 2 ==> Physical drive 1, auto detection */
    };


    void main(void)
    {


    FATFS SDFatFs; /* File system object for SD card logical drive */
    FIL MyFile; /* File object */
    char SDPath[4]; /* SD card logical drive path */


    FRESULT res; /* FatFs function common result code */
    uint32_t byteswritten, bytesread; /* File write/read counts */
    uint8_t wtext[] = "This is STM32 working with FatFs"; /* File write buffer */
    uint8_t rtext[100];


    RCC_Configuration();
    GPIO_Configuration();
    Com2_Intial(); //usb to serial

    printf("STM32 evaluation board\n");

    /*##-1- Link the micro SD disk I/O driver ##################################*/
    if(FATFS_LinkDriver(&SD_Driver, SDPath) == 0)
    {
    /*##-2- Register the file system object to the FatFs module ##############*/
    if(f_mount(&SDFatFs, (TCHAR const*)SDPath, 0) != FR_OK)
    {
    /* FatFs Initialization Error */
    while(1);
    }
    else
    {
    /*##-3- Create a FAT file system (format) on the logical drive #########*/
    /* WARNING: Formatting the uSD card will delete all content on the device */
    if(f_mkfs((TCHAR const*)SDPath, 0, 0) != FR_OK)
    {
    /* FatFs Format Error */
    while(1);
    }
    else
    {
    /*##-4- Create and Open a new text file object with write access #####*/
    if(f_open(&MyFile, "STM32.TXT", FA_CREATE_ALWAYS | FA_WRITE) != FR_OK)
    {
    /* 'STM32.TXT' file Open for write Error */
    while(1);
    }
    else
    {
    /*##-5- Write data to the text file ################################*/
    res = f_write(&MyFile, wtext, sizeof(wtext), (void *)&byteswritten);


    /*##-6- Close the open text file #################################*/
    if (f_close(&MyFile) != FR_OK )
    {
    while(1);
    }

    if((byteswritten == 0) || (res != FR_OK))
    {
    /* 'STM32.TXT' file Write or EOF Error */
    while(1);
    }
    else
    {
    /*##-7- Open the text file object with read access ###############*/
    if(f_open(&MyFile, "STM32.TXT", FA_READ) != FR_OK)
    {
    /* 'STM32.TXT' file Open for read Error */
    while(1);
    }
    else
    {
    /*##-8- Read data from the text file ###########################*/
    res = f_read(&MyFile, rtext, sizeof(rtext), (UINT*)&bytesread);

    printf("%s",rtext);

    if((bytesread == 0) || (res != FR_OK))
    {
    /* 'STM32.TXT' file Read or EOF Error */
    while(1);
    }
    else
    {
    /*##-9- Close the open text file #############################*/
    f_close(&MyFile);

    /*##-10- Compare read data with the expected data ############*/
    if((bytesread != byteswritten))
    {
    /* Read data is different from the expected data */
    while(1);
    }
    }
    }
    }
    }
    }
    }
    }


    printf("finish");

    while(1);
    }

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    نه ورژن خاصی نیاز نداره ، این که کد شما کجا به چه خطایی میخوره ، ببینید هر فانکشنی رو که کال میکنید یه مقداری بر میگردونه که اگر عددی غیر صفر باشه یعنی خطا داره ، حالا این که چه عددی هست نمایشگر اینه که خطا چی هست
    شما اول بررسی کن ببین کجای کد دچار خطا میشه

  4. کاربران : 2 تشکر کرده اند از شما agape برای ارسال این پست سودمند:


  5. #3
    کاربر علاقه مند
    تاریخ عضویت
    Apr 2017
    نوشته ها
    21
    تشکر
    5
    تشکر شده 0 بار در 0 پست

    پیش فرض

    من هر مرحله رو با یوزارت چک کردم که هر کدوم انجام شد یه چیزی بفرسته ولی توی f_open گیر میکنه

  6. #4
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام دوست عزیز
    نمیشه از میکرو اس.دی 8گیگ استفاده کرد، کتابخونه از این ظرفیت پشتیبانی نمیکنه
    _____________________________________
    _____________________________________

موضوعات مشابه

  1. راه اندازی micro sd با حجم 16GB با کتابخانه chan
    توسط amiroruji72 در انجمن میکرو کنترلر های 32 بیتی(arm)
    پاسخ: 4
    آخرين نوشته: 12-04-2017, 18:58
  2. fatfs
    توسط allsat در انجمن LPC series (NXP)
    پاسخ: 1
    آخرين نوشته: 03-02-2016, 10:16
  3. ورژن جدید کتابخانه fat elm chan R0.10a
    توسط wantedboy در انجمن stm32
    پاسخ: 5
    آخرين نوشته: 19-01-2014, 12:08
  4. کمک در مورد برد lpc1768 کویر و کتابخانه chan
    توسط jik در انجمن LPC series (NXP)
    پاسخ: 11
    آخرين نوشته: 09-12-2013, 22:34

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •