Проблемы с SD-картой и FatFs (монтирование, открытие файлов) - PullRequest
2 голосов
/ 17 октября 2019

У меня есть некоторые проблемы с библиотекой FATFs и серией STM32F7. Я хочу подключить SD-карту (32 ГБ, SanDisk, FAT32) к плате F746G-Discovery, чтобы сохранить на ней некоторые данные. (сначала .txt-Files, позже прочитайте .csv Files для визуализации некоторых данных измерений).

Моя проблема в том, что функция f_mount дает мне "FR_OK", но в следующемшаг я не могу открыть файл с f_open . Я нашел проблему путем отладки шаг за шагом. Он находится в файле ff.c библиотеки FatFs.

res = find_volume(&path, &fs, mode); 

На этом этапе программа останавливается. При переходе к функции проблема заключается в следующей строке

stat = disk_initialize(fs->drv);    /* Initialize the physical drive */  

То есть SD-карта не инициализирована / не установлена? Но почему f_mount дает мне FR_OK?

Было бы очень хорошо, если бы кто-то мог помочь. Спасибо!

Я пробовал следующие вещи:

-форматированная SD-карта (exFat, ..)

- другие пути

в основном:

FIL fil;

FRESULT fr;

FATFS FatFs;

fr=f_mount(&FatFs,(TCHAR const*)SDPath,1);

if(fr!= FR_OK)
{
    Error_Handler(); 
}

else if (fr == FR_OK)
{
      char path[13] = "testfile.txt";
      fr = f_open(&fil, (char*)path, FA_WRITE | FA_CREATE_ALWAYS);
      // File should be created
      //here begins the main problem

  if ( fr == FR_OK ) // File opened
  {
       f_printf(&fil, "%d", 1234);
  }
    else if (fr != FR_OK)
    {
    Error_Handler();
    }
}

f_close(&fil);
f_mount(0,"SD",0);
...