[求助]关于对拷的问题

已经将一个U盘中指定的文件拷入另外一个U盘中,我定义了两个变量code *pCodeStr,*qCodeStr;然后参考那个exam1中的程序(搜索CH375HFT.C文件,没搜到就列出根目录下的文件名),我想根据这些文件名,像上面那样把文件拷到另一个U盘中,于是加了一个for循环,始终有问题,程序跑不完就停了。 请教:要完成全部文件的拷贝,是要把全部文件枚举出来,然后再拷贝吧,怎么操作呢?

还有一问题:我用exam1程序,里面没放CH375HFT.C文件,于是想显示所有根目录文件,结果串口输出没问题,液晶上面英文没问题,中文乱码。为什么?我以为是\占了一个字符的位置,于是后面文字被分开,于是我把显示地址从80H改到81H,结果还是这样,到底是什么原因呢?大侠指教啊

前几天你做实验,两个U盘的DISK_READY是否已经可以了?


嗯,搜了下这里以前的帖子,在头文件中改了查询中断的函数,或者在程序中加了读指令的函数,结果就行了,可以完成对拷。

其实我现在不需要全部文件的对拷,我现在想让所有的根目录可以都读出来,然后显示在液晶屏上,通过电路板上的按键,让文件像MP3那样上下移动显示,然后对当前液晶上显示的文件可以作拷贝或者删除工作。不知道具体要怎么做,因为现在中文文件显示都有乱码。


中文文件名涉及到长文件名操作。另外长文件名unicode编码。不知道你那边是否有字库。


我用的是12232液晶,当时就是考虑到要显示中文,所以买的这个,不然就用1602了。 对了,上面我想做的这些过程,我觉得还是要从把全被文件名可以显示出来开始做,然后针对显示的文件进行按键控制操作。

要做的东西其实就是U盘的对拷,只不过是可以选择拷贝哪个文件,可以将其显示出来 针对我的想法,还希望你可以给点建议哈


不一定要全部枚举出来,如果全部枚举出来,这些文件名放在哪里呢?RAM?如果文件太多RAM显然无法存储这么多的文件名。 枚举一部分,显示一部分。 你现在先不要用长文件名。先用断文件名,看是否可以正常枚举到。至于12232液晶,这个不能简单的说可以显示汉字还是不可以显示汉字,1602同样可以显示汉字。 这部分你自己想办法处理一下。


我单片机外部拓展了个62256,一开始我以为就把数据之间放到这里了。 我试验的时候U盘根目录中的文件肯定都很少的,只放几个文件,应该没问题吧。 枚举一部分,显示一部分。到时候文件比较多的时候再这么弄吧。

12232液晶带有中文字库的,1602显示简单的汉子,区别也就这一点,其他都差不多。

我昨天用的exam1程序,串口显示所有根目录文件没问题,我在每次串口输出的时候加上液晶显示的指令,结果是每个文件名在液晶上都有显示,就是中文的乱码了,所以应该都是枚举到了的。

我再全用短文件名试试,里面先只放两个文件,一个中文的,一个英文的


Start Wait Udisk Ready ? Open List file \* match file 000#: \12.TXT match file 001#: \文本.TXT match file 002#: \NEWFILE.TXT Create Write Modify Close Take out 这个是串口的输出,然后‘\文本.TXT’的汉字还是乱的


这个是你液晶显示有问题,串口显示是ACSII码显示,如果你的液晶没有字库的话,需要将GB码转换成点阵在液晶上显示。你需要自己解决这个问题,这个问题不属于我司的技术支持范围之内。


我的液晶带了字库的。然后我想问match file 001#: \文本.TXT 前面的这个\能不能在程序中去掉,就是在枚举文件名的时候串口也只输出 match file 000#: 12.TXT match file 001#: 文本.TXT match file 002#: NEWFILE.TXT


只有登录才能回复,可以选择微信账号登录