📄 fs_drv.c
字号:
/**************************************************************************
* 文件名 : fs_drv.c
* 功能描述 : RTOS下的文件系统支持
**************************************************************************/
/* Includes -----------------------------------------------------------------*/
#include <stdio.h>
#include "ucos_ii.h"
#include "ff.h"
#include "fs_drv.h"
/* Variables ----------------------------------------------------------------*/
/*=============================================================================
* Function :
* Description :
* Input Para :
* Output Para :
* Return Value :
=============================================================================*/
int fs_init(FATFS* fs) {
if (FR_OK != f_mount(1, fs)) {
printf("\r\nMount SD Card fs error");
return -1;
}
return 0;
}
#if 0
DWORD WaitForSingleObject(
HANDLE hHandle, // handle to object to wait for
DWORD dwMilliseconds // time-out interval in milliseconds
) {
INT8U err;
OSMutexPend(hHandle, OS_TICKS_PER_SEC * dwMilliseconds / 1000, &err);
if (err != OS_ERR_NONE) {
return WAIT_TIMEOUT;
}
return WAIT_OBJECT_0;
}
BOOL ReleaseMutex(
HANDLE hMutex // handle to mutex object
) {
INT8U err;
err = OSMutexPost(hMutex);
if (err != OS_ERR_NONE) {
return FALSE;
}
return TRUE;
}
BOOL CloseHandle(
HANDLE hObject // handle to object to close
) {
INT8U err;
OSMutexDel(hObject, OS_DEL_ALWAYS, &err);
if (err != OS_ERR_NONE) {
return FALSE;
}
return TRUE;
}
HANDLE CreateMutex(
void* lpMutexAttributes,
// pointer to security attributes
BOOL bInitialOwner, // flag for initial ownership
const char* lpName // pointer to mutex-object name
) {
INT8U err;
HANDLE h;
h = OSMutexCreate(APP_TASK_MP3_PRIO - 1, &err);
if (0
|| (err != OS_ERR_NONE)
|| (h == NULL)
) {
return NULL;
}
return h;
}
#endif
/************************************END OF FILE******************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -