不能读取到原文件!!!

我用的是89C54+CH375,并口方式,用CH375HF6.LIB和CH375HF6.H的头文件,下面是在U盘插入后我的一段代码

/* 检查U盘是否准备好 for ( i = 0; i < 5; i ++ ) { mDelay100mS( ); //printf( "Ready ?\n" ); if ( CH375DiskReady( ) == ERR_SUCCESS ) break; /* 查询磁盘是否准备好 */ } Delay(); mCopyCodeStringToIRAM( mCmdParam.Open.mPathName, "/123" ); /* 文件名,该文件在C51子目录下 */ i = CH375FileOpen( ); /* 打开文件 */ if ( i == ERR_MISS_DIR || i == ERR_MISS_FILE ) {for(;;);} //如果错误就停机 mStopIfError(i);

最后程序在mStopIfError(i)里面停住了,i的值是0x0f, 可以告诉我是为什么吗?[Emot]20[/Emot][Emot]20[/Emot]

在这里的话你不能用mStopIfError(i);,这个返回的值不是0x00, 还有就是你打开的文件是没有扩展名的吗?如果你的文件在U盘里面有扩展名的话,那么就会进到 mStopIfError(i);


是不是说:一个文件夹(没有扩展名)的话就不能用mStopIfError(i),如果在U盘里面的文件有扩展名的话就要用mStopIfError(i)呢? 如果是一个文件夹(没有扩展名)的,那么i = CH375FileOpen( ); 中i的值是多少???


我说的不是这个意思,一个文件可以没有扩展名,也就是说你的文件如果没有扩展名的话,那你打开的时候在写入文件的名称的时候是不需要加入扩展名的,相反,如果你的文件有扩展名的话而你没有加,那就会变成搜索文件而不是打开文件


CH375FileOpen( );在不同情况下的返回值是多小?


打开成功的话,返回的值为0X00


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