ZLG/FS文件系统的BUG?

[复制链接]
4358|17
 楼主| hedynasty 发表于 2008-8-19 16:35 | 显示全部楼层 |阅读模式
斑竹及各位:我的ARM7板子上用了ZLG/FS文件系统来对SD卡进行文件读写,在调试过程中有个怪问题大家帮忙看看:如果我在SD卡上建立一个.txt文本文档,用ZLG/FS的读写函数对这个文件进行复制,可以顺利运行,结果正确。可是当我把文本文档换成一个.html网页文件后(别的程序都不变),这个文件复制程序的结果有时正确(成功复制,在SD卡上产生一个内容一样的.html网页),有时的结果是错的(产生一个内容为空的网页),网上看到有人说ZLG/FS有一些BUG,请问我这个问题有可能是BUG吗?还是别的原因?谢谢!
sfrad32 发表于 2008-8-19 21:18 | 显示全部楼层

请使用<>,不会有此问题

  
 楼主| hedynasty 发表于 2008-8-20 11:29 | 显示全部楼层

解决了,但更郁闷

发现只有SD卡上的.html网页文件是用文件系统的读写函数建立的话,对他在进行复制才不会出错?如果是从别的地方靠到SD卡上的就不行,这是为什么?高手指点指点,谢谢!<br />
 楼主| hedynasty 发表于 2008-8-20 11:40 | 显示全部楼层

是这样吗:

ZLG/FS只能对.txt文本文档进行读写操作,如果是别的格式的文件(如.html文件)就得是利用它的读写函数建立的,它才能对他进行读写操作,否则如果是从电脑上靠到SD卡上的就不行。形象地说就是自己只认识自己写的东西,并能读写它,拷贝的就不认识,不能读写。高手指点一下,谢谢!
古道热肠 发表于 2008-8-20 11:56 | 显示全部楼层

仔细检查兼容性

良好的文件系统应该具有与PC进行数据交换的功能.就是说PC上建立的在SD卡的内容,在嵌入式系统上应该进行可读可写操作.
 楼主| hedynasty 发表于 2008-8-20 11:59 | 显示全部楼层

谢谢!

您能说具体一点如何“检查兼容性”吗?检查ZLG/FS的介绍说明?
 楼主| hedynasty 发表于 2008-8-21 09:55 | 显示全部楼层

程序大家帮看看,谢谢

用ZLG/FS的读写函数打开一个事先拷贝到SD卡上的.html网页文件,并把这个文件的内容复制到一个数组里,大家帮看看程序这样编对吗?程序如下:<br /><br />char&nbsp;*FileName&nbsp;=&nbsp;&quot;a:单片机.html&quot;;<br />uint8&nbsp;WritFileData[430];<br />char&nbsp;buf1[4];<br />char&nbsp;buf[30];<br />HANDLE&nbsp;FHandle;<br /><br />&nbsp;&nbsp;<br />strcpy(buf1,&nbsp;&quot;rw&quot;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />strcpy(buf,&nbsp;FileName);<br />FHandle&nbsp;=&nbsp;OSFileOpen(buf,&nbsp;buf1);&nbsp;&nbsp;&nbsp;&nbsp;<br />OSFileRead(WritFileData,430,FHandle);<br />OSFileClose(FHandle);<br />
dld2 发表于 2008-8-21 10:06 | 显示全部楼层

瞎猜

文件名不要用中文。<br />后缀改成三字节。<br /><br />例如“dpj.htm”
 楼主| hedynasty 发表于 2008-8-21 10:31 | 显示全部楼层

谢谢dld2

改了,还是不行,结果是ZLG/FS在SD卡上重新建了一个0字节的同名的文件,不知道为什么?
wlq_9 发表于 2008-8-21 12:57 | 显示全部楼层

8.3

文件名支持.
 楼主| hedynasty 发表于 2008-8-21 13:12 | 显示全部楼层

好像跟8.3文件名格式无关吧?

  
 楼主| hedynasty 发表于 2008-8-21 13:33 | 显示全部楼层

我错了,是文件格式的问题

当我把SD卡上的文件由.html网页文件换成.rar压缩文件后运行程序,结果正确。如果是这样,需要遵循8.3文件名格式的话,.html网页文件怎么办?按8楼说的只能改文件名,属性里的后缀还是“html”呀,怎么办?各位指点一下,谢谢!
dld2 发表于 2008-8-21 13:44 | 显示全部楼层

htm和HTML文件格式是相同的

  
 楼主| hedynasty 发表于 2008-8-21 13:51 | 显示全部楼层

谢谢dld2,

那我怎么改啊,在属性里把文件名改成“dpj.htm”?
dld2 发表于 2008-8-21 13:56 | 显示全部楼层

呵呵

向SD卡存储时,把文件名都改成你的FS支持的格式。具体怎么做方便我就不知道了。
 楼主| hedynasty 发表于 2008-8-21 14:02 | 显示全部楼层

太感谢dld2大哥了,

按您的指点搞定了,就是把程序里的html都改成htm就行了。<br />同样感谢古道热肠&nbsp;,wlq_9,和&nbsp;sfrad32&nbsp;。<br />
 楼主| hedynasty 发表于 2008-8-21 14:28 | 显示全部楼层

同时SD卡上的网页文件也必须是htm格式的

  
dld2 发表于 2008-8-21 14:31 | 显示全部楼层

呵呵

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

本版积分规则

73

主题

458

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部