Goyoyo_Modules/FATFS/App/fatfs.c

76 lines
2.0 KiB
C

/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file fatfs.c
* @brief Code for fatfs applications
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
#include "fatfs.h"
uint8_t retUSER; /* Return value for USER */
char USERPath[4]; /* USER logical drive path */
FATFS USERFatFS; /* File system object for USER logical drive */
FIL USERFile; /* File object for USER */
/* USER CODE BEGIN Variables */
BYTE work[_MAX_SS]; /* Work area (larger is better for processing time) */
FRESULT CreateFileSystem()
{
FRESULT fr = FR_INT_ERR;
/* Format the default drive with default parameters */
fr = f_mkfs((TCHAR*)USERPath, FS_FAT32, 0,work, _MIN_SS);
return fr;
}
FRESULT FMounteMMC()
{
MX_FATFS_Init();
FRESULT fr = f_mount(&USERFatFS, USERPath, 1);
if(fr == FR_NO_FILESYSTEM)
{
// CreateFileSystem();
fr = f_mkfs((TCHAR*)USERPath, FS_FAT32, 0,work, _MIN_SS);
fr = f_mount(&USERFatFS, USERPath, 1);
}
return fr;
}
/* USER CODE END Variables */
void MX_FATFS_Init(void)
{
/*## FatFS: Link the USER driver ###########################*/
retUSER = FATFS_LinkDriver(&USER_Driver, USERPath);
/* USER CODE BEGIN Init */
/* additional user code for init */
/* USER CODE END Init */
}
/**
* @brief Gets Time from RTC
* @param None
* @retval Time in DWORD
*/
DWORD get_fattime(void)
{
/* USER CODE BEGIN get_fattime */
return 0;
/* USER CODE END get_fattime */
}
/* USER CODE BEGIN Application */
/* USER CODE END Application */