U盘对拷,

你好: 我又回到了原来的问题上了,当Change_Bit=0x02;如下的函数 CH375DiskReady( ) 不能执行, 无法向下运行了。 当Change_Bit=0x01;函数 CH375DiskReady( ) 能执行,但在头文件CH378HFC.H中并没有对 CH375DiskReady( )定义,那该修改哪个地方呢?谢谢了!!!

Change_Bit=0x02; for ( i = 0; i < 5; i ++ ) { /* 有的U盘总是返回未准备好,不过可以被忽略 */ mDelay100mS( ); // printf( "Ready1 ?\n" ); if ( CH375DiskReady( ) == ERR_SUCCESS )


http://wch.cn/bbs/View.asp?S=101&I=42783&P=1 上述帖子也是关于U盘对考,参考一下其中的内容,与你是否有相似之处


先谢谢了! 我参考了帖子上的内容做了如下改动: 1. 定义了xReadCH375Cmd函数 2. 注释了 //sbit CH375_INT_WIRE 但在编译时提示 WARNING:xReadCH375Cmd misisng function-prototype ---->指向头文件的该函数的调用处 ERROE:xReadCH375Cmd redefinition


仅在主程序中,#include “CH375HF?.H”前定义xReadCH375Cmd


编译能通过了,但问题还是:当Change_Bit=0x02;如下的函数 CH375DiskReady( ) 不能执行。

1. #ifndef CH375_INT_WIRE //这里原来是 #ifdef CH375_INT_WIRE 就不用注释掉原来的定义 sbit CH375_INT_WIRE 2. unsigned char xReadCH375Cmd( void ) { unsigned char mData; //mDelay1_2uS( ); /* ÖÁÉÙÑÓʱ1.2uS */ if( Change_Bit==0x01) mData=CH375_CMD_PORT; if( Change_Bit==0x02) mData=CH375_CMD_PORT_U0; return( mData ); } #include "CH375HFC.H"

以下是头文件中的关于查询部分,昨天没有定义xReadCH375Cmd,但程序中使用了 //if(Change_Bit==0x01) //while ( CH375_CMD_PORT & 0x80 );//GAIGUO //else if(Change_Bit==0x02) //while ( CH375_CMD_PORT_U0 & 0x80 );//GAIGUO 应该是一样的功能。现在还是CH375DiskReady( ) 为何不能执行,谢谢。

//#ifndef CH375_INT_WIRE /* */ //if(Change_Bit==0x01) while ( CH375_INT_WIRE ); /* */ //else if(Change_Bit==0x02) //while ( CH375_INT_WIRE_U0 ); /* */

//#else /* */ while ( xReadCH375Cmd( ) & 0x80 ); /* */ //if(Change_Bit==0x01) //while ( CH375_CMD_PORT & 0x80 );//GAIGUO //else if(Change_Bit==0x02) //while ( CH375_CMD_PORT_U0 & 0x80 );//GAIGUO ///////////////////////////////////////////////////////////////////////////////////////////////////// #endif


1、只要增加了xReadCH375Cmd,那么头文件中就不要任何修改,请恢复为原来的样子 2、Change_Bit==0x01为1时,DiskReady能否通过?


先谢谢了!

恢复了头文件,这下好了。 可以将一个指定的文件拷贝到另一个U盘中,实现了U盘单个文件的对考,但我要实现outside U 盘中的所有 文件拷贝到inside U 盘中的功能,可能还会遇到问题,希望得到帮助,谢谢!


这个你需要注意每一个文件的位置以及文件夹以及长文件名。


你好: U盘中所有文件的对考时有如下疑问: 1. 要找到U盘中的文件名,mCopyCodeStringToXRAM( mCmdParam.Open.mPathName,"\\12.TXT");即要把例程 中的文件路径参数 "\\12.TXT" 改成一个字符串的数组变量吧。 如果将"\\12.TXT"替换成一个变量,那函数 mCopyCodeStringToXRAM( mCmdParam.Open.mPathName,UINT8 code *iSource );的第二个参数的类型 也要更改?

2. 在文件的列举过程中已经发现了U盘中的文件,能否用这个文件名来打开这个文件? 谢谢!


第二个参数的类型 取决于字符串的存储类型,是存到CODE还是RAM当中 可以直接利用枚举到的文件名 打开文件。


谢谢了,现在OK了, 将列举时的文件名记录了下来,然后再拷贝创建文件时使用这个文件名,可以将所有的文件都考过来。 使用了strcpy()这个函数.


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