小学生
最后登录1970-1-1
在线时间 小时
注册时间2021-6-29
|
本帖最后由 52240381 于 2021-7-9 17:53 编辑
一、串口显示内容如下:
******** 这是一个SPI FLASH 文件系统实验 *******
》文件系统挂载成功,可以进行测试
*************** 设备信息获取 ***************
》设备总空间: 9964 KB。
》可用空间: 9956 KB。
******** 文件定位和格式化写入功能测试 ********
》文件内容:
在原来文件新添加一行内容
》设备总空间: 9964 KB。
》可用空间: 9956 KB。
********** 目录创建和重命名功能测试 **********
*************** 文件信息获取测试 **************
“testdir.txt”文件信息:
》文件大小: 86(字节)
》时间戳: 2015/01/01, 00:00
》属性: ----A
***************** 文件扫描测试 ****************
1:/TestDir/testdir.txt
二、部分程序如下:
static FRESULT miscellaneous(void)
{
DIR dir;
FATFS *pfs;
DWORD fre_clust, fre_sect, tot_sect;
printf("\n*************** 设备信息获取 ***************\r\n");
/* 获取设备信息和空簇大小 */
res_flash = f_getfree("1:", &fre_clust, &pfs);
/* 计算得到总的扇区个数和空扇区个数 */
tot_sect = (pfs->n_fatent - 2) * pfs->csize;
fre_sect = fre_clust * pfs->csize;
/* 打印信息(4096 字节/扇区) */
printf("》设备总空间:%10lu KB。\n》可用空间: %10lu KB。\n", tot_sect *4, fre_sect *4);
printf("\n******** 文件定位和格式化写入功能测试 ********\r\n");
res_flash = f_open(&fnew, "1:FatFs读写测试文件.txt",
FA_OPEN_ALWAYS|FA_WRITE|FA_READ );
if ( res_flash == FR_OK )
{
/* 文件定位 */
res_flash = f_lseek(&fnew,f_size(&fnew));
if (res_flash == FR_OK)
{
/* 格式化写入,参数格式类似printf函数 */
f_printf(&fnew,"\n在原来文件新添加一行内容\n");
f_printf(&fnew,"》设备总空间:%10lu KB。\n》可用空间: %10lu KB。\n", tot_sect *4, fre_sect *4);
/* 文件定位到文件起始位置 */
res_flash = f_lseek(&fnew,0);
/* 读取文件所有内容到缓存区 */
res_flash = f_read(&fnew,readbuffer,f_size(&fnew),&fnum);
if(res_flash == FR_OK)
{
printf("》文件内容:\n%s\n",readbuffer);
}
}
f_close(&fnew);
printf("\n********** 目录创建和重命名功能测试 **********\r\n");
/* 尝试打开目录 */
res_flash=f_opendir(&dir,"1:TestDir");
if(res_flash!=FR_OK)
{
/* 打开目录失败,就创建目录 */
res_flash=f_mkdir("1:TestDir");
}
else
{
/* 如果目录已经存在,关闭它 */
res_flash=f_closedir(&dir);
/* 删除文件 */
f_unlink("1:TestDir/testdir.txt");
}
if(res_flash==FR_OK)
{
/* 重命名并移动文件 */
res_flash=f_rename("1:FatFs读写测试文件.txt","1:TestDir/testdir.txt");
}
}
else
{
printf("!! 打开文件失败:%d\n",res_flash);
printf("!! 或许需要再次运行“FatFs移植与读写测试”工程\n");
}
return res_flash;
}
三、问题
1、文件定位和格式化写入功能测试环节中,按照程序,文件内容应该在设备总空间和可用空间后出现才对,为什么出现在了前面?
2、文件内容没有显示,是readbuffer里没有内容吗? |
|