OpenEdv-开源电子网

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

关于字库刷新

[复制链接]

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2013-2-8
在线时间
1 小时
发表于 2014-2-9 11:17:16 | 显示全部楼层 |阅读模式
请大侠帮解释一下,我看不懂,谢谢大家,新春愉快,同时也祝原子哥新年生意兴隆,论坛人气鼎盛!
while(res==FR_OK)//死循环执行
{
  res=f_read(fftemp,tempbuf,4096,(UINT *)&bread); //读取数据 从fftemp读取4096字节
//到tempbuf,已读字节数存储单元指针为&bread
//正常的话返回值res为0  
if(res!=FR_OK)break; //执行错误
SPI_Flash_Write(tempbuf,offx+flashaddr,4096); //从flashaddr开始写入4096个数据  
   offx+=bread;   
fupd_prog(x,y,size,fftemp->fsize,offx);   //进度显示
if(bread!=4096)break; //读完了
 
问题:1:res返回值在读取正常(0x00????),失败,读到结束符时分别是什么?
         2:书上说判断二进制文件结束要用feof函数,这怎么不用?
         3:如果文件数据是4K,是不是要读完第4097+4K才可以判断结束,跳出?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-2-9 15:19:35 | 显示全部楼层
回复【楼主位】jbqsjgjc:
---------------------------------
1,f_read的返回值,只有成功才是0,失败的时候,是RESULT枚举类型里面的一个值,你看RESULT的枚举,对应的数值,代表什么意思,都有注释.
2,这个fatfs.貌似没提供这个函数.而且也不需要用这个,当fread读取4096个字节,而只读到少于4096个字节的时候,就说明后续没有内容可读了.
3,不用,你读完4096,返回4096,那么下次读,就是0了,自然就知道文件结束了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2013-2-8
在线时间
1 小时
 楼主| 发表于 2014-2-9 19:29:45 | 显示全部楼层
谢谢原子哥。3还不大懂
读完4096,下次读,也就是再执行f_read,为什么就是0了呢?是不是f_read能识别文件结束符?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-2-10 00:54:30 | 显示全部楼层
因为文件已经到末尾了。
你自己实际测试下就知道了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2013-2-8
在线时间
1 小时
 楼主| 发表于 2014-2-10 09:44:39 | 显示全部楼层
好的,谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-13 21:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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