У меня есть некоторые проблемы с библиотекой 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);