📄 app.c
字号:
fd_wr = FILE_Open(APP_WRITE_FILE, RDWR, &err);
if (fd_wr == 0) {
PRINT_Log("Could not open file %s. err = %d\n", APP_WRITE_FILE, err);
return;
}
do{
byts_rd = FILE_Read(fd_rd, APP_Buf, APP_BUFFER_SIZE, &err); /* Read data from a file */
if (err == OK) {
byts_wr = FILE_Write(fd_wr, APP_Buf, byts_rd, &err); /* Write data into a file */
if (err != OK) {
PRINT_Log("Write failed. err = %d\n", err);
FILE_Close(fd_wr);
return;
}
} else {
PRINT_Log("Read failed. err = %d", err);
FILE_Close(fd_rd);
return;
}
} while (byts_rd != 0);
if (byts_rd == byts_wr) {
PRINT_Log("Copy completed\n");
} else {
PRINT_Log("Copy failed\n");
}
FILE_Close(fd_rd); /* Close the file */
FILE_Close(fd_wr);
}
#endif
/*
**************************************************************************************************************
* DELETE A FILE
*
* Description: This function deletes a file. The file name for the file to be deleted is defined as
* APP_DEL_FILE
*
* Arguments : None
*
* Returns : None
*
**************************************************************************************************************
*/
#if (APP_CFG_TEST_DEL_FILE == DEF_ENABLED)
static void APP_TestDelFile (void)
{
CPU_INT32S err;
PRINT_Log("\n");
PRINT_Log("Deleting the file %s...\n", APP_DEL_FILE);
err = FILE_Del(APP_DEL_FILE);
if (err != OK) {
PRINT_Log("Cannot delete file. err = %d\n", err);
return;
}
PRINT_Log("File deleted\n");
}
#endif
/*
**************************************************************************************************************
* CREATE DIRECTORY
*
* Description: This function creates a directory. The name of the directory to be created is defined
* as APP_CREAT_DIR.
*
* Arguments : None
*
* Returns : None
*
**************************************************************************************************************
*/
#if (APP_CFG_TEST_CREAT_DIR == DEF_ENABLED)
static void APP_TestCreatDir (void)
{
CPU_INT32S err;
PRINT_Log("\n");
PRINT_Log("Creating directory %s...\n", APP_CREAT_DIR);
err = FILE_CreatDir(APP_CREAT_DIR);
if (err != OK) {
PRINT_Log("Cannot create directory. err = %d\n", err);
return;
}
PRINT_Log("Directory created\n");
}
#endif
/*
**************************************************************************************************************
* DELETE DIRECTORY
*
* Description: This function deletes a directory. The name of the diretory to be deleted is defined
* as APP_DEL_DIR.
*
* Arguments : None
*
* Returns : None
*
**************************************************************************************************************
*/
#if (APP_CFG_TEST_DEL_DIR == DEF_ENABLED)
static void APP_TestDelDir (void)
{
CPU_INT32S err;
PRINT_Log("\n");
PRINT_Log("Deleting the directory %s ...\n", APP_DEL_DIR);
err = FILE_DelDir(APP_DEL_DIR);
if (err != OK) {
PRINT_Log("Cannot delete directory. err = %d\n", err);
return;
}
PRINT_Log("Directory deleted\n");
}
#endif
/*
**************************************************************************************************************
* NAVIGATE FILESYSTEM
*
* Description: This function is used to navigate through file system. First the
* user must start the navigation from a file/directory path. The file name of the file from where
* the navigation should start is defined as APP_NAV_START_FILE.
*
* Arguments : None
*
* Returns : None
*
**************************************************************************************************************
*/
#if (APP_CFG_TEST_NAV == DEF_ENABLED)
static void APP_TestNav (void)
{
CPU_INT32S err;
FILE_NAV file_nav;
FILE_NAV nxt_nav;
FILE_NAV child_nav;
FILE_INFO file_info;
PRINT_Log("\n");
PRINT_Log("Navigating from %s...\n", APP_NAV_START_FILE);
err = FILE_NavStart(APP_NAV_START_FILE, &file_nav); /* Start navigation */
if (err == OK) {
err = FILE_GetInfo(&file_nav, &file_info); /* Get information of the child file */
if (err == OK) {
FILE_PrintInfo(&file_info); /* Print the information */
}
} else {
PRINT_Log("Cannot start navigation. err = %d\n", err);
return;
}
err = FILE_NavChild(&file_nav, &child_nav); /* Navigate to child */
if (err == OK) {
FILE_GetInfo(&child_nav, &file_info); /* Get information of the child file */
FILE_PrintInfo(&file_info); /* Print the information */
} else {
PRINT_Log("Cannot navigate to child. err = %d\n", err);
return;
}
do {
err = FILE_NavNxt(&child_nav, &nxt_nav); /* Navigate to next file */
if (err == OK) {
FILE_GetInfo(&nxt_nav, &file_info); /* Get information of the child file */
FILE_PrintInfo(&file_info); /* Print the information */
} else {
if (err == ERR_NO_MORE_ENT) {
PRINT_Log("No more entries\n");
} else {
PRINT_Log("Cannot navigate to next. err = %d\n", err);
return;
}
}
FILE_NavCpy(&child_nav, &nxt_nav);
} while(err == OK);
PRINT_Log("Navigation completed.\n");
}
/*
**************************************************************************************************************
* COPY NAVIGATION STRUCTURES
*
* Description: This function is used to copy the contents of the source navigation structure into destination
* navigation structure.
*
* Arguments : dest_nav Destination navigation structure
* src_nav Source navigation structure
*
* Returns : None
*
**************************************************************************************************************
*/
void FILE_NavCpy (FILE_NAV *dest_nav,
FILE_NAV *src_nav)
{
dest_nav->EntClus = src_nav->EntClus;
dest_nav->EntClusOff = src_nav->EntClusOff;
dest_nav->NbrEnt = src_nav->NbrEnt;
dest_nav->PartHandle = src_nav->PartHandle;
dest_nav->DataClus = src_nav->DataClus;
dest_nav->FileAttr = src_nav->FileAttr;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -