OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2006|回复: 2

f_Read 怎么判断文件读取完毕

[复制链接]

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2018-4-23
在线时间
22 小时
发表于 2018-10-18 09:23:59 | 显示全部楼层 |阅读模式
1金钱
FATFS 中 f_Read 怎么判断文件读取完毕
原子汉字显示历程中,将SD卡字库写入FLASH中的一段代码写到

while(res==FR_OK)//死循环执行
{
   res=f_read(fftemp,tempbuf,4096,(UINT *)&bread);                //读取数据       
   if(res!=FR_OK)break;                                                                //执行错误
   SPI_Flash_Write(tempbuf,offx+flashaddr,4096);                //从0开始写入4096个数据
   offx+=bread;       
   fupd_prog(0,updata_yy,16,fftemp->fsize,offx);//进度条
   if(bread!=4096)break;                                                                //读完了.
}


在历程显示汉字教程中,是判断已经读取的字节数
if(bread!=4096)break;
如果我的文件大小刚好是4096的整数倍。那么这个条件应该满足不了,会不会进入死循环

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

401

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1769
金钱
1769
注册时间
2015-6-11
在线时间
313 小时
发表于 2018-10-18 10:06:46 | 显示全部楼层
不会,这个循环不是有两个判断条件吗,当文件读完后f_read(fftemp,tempbuf,4096,(UINT *)&bread)也会返回出错从而结束循环
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2017-12-8
在线时间
1 小时
发表于 2018-10-18 10:51:36 | 显示全部楼层
实际读取的数据量和请求数据量对比,实际读的少就是读完了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 21:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表