2

我对 FATF 库和 STM32F7 系列有一些问题。我想将 SD 卡(32GB、SanDisk、FAT32)与 F746G-Discovery-Board 连接以在其上保存一些数据。(起初是 .txt 文件,后来阅读 .csv 文件以可视化一些测量数据)。

我的问题是,f_mount函数给了我一个“FR_OK”,但在下一步我不能用f_open打开一个文件。我通过一步步调试找到了问题所在。它位于 FatFs 库的 ff.c 文件中。

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);
4

0 回答 0