初始化正常,读取文件时,如果一次读取64个字节正常,如果一次读取128个字节就会无响应,表现是CH374ByteRead函数一直无返回。
相关代码如下:
i = CH374DiskConnect(); if(i != ERR_SUCCESS ) { return; } // 检查U盘是否准备好,有些U盘不需要这一步,但是某些U盘必须要执行这一步才能工作 for ( i = 0; i < 5; i ++ ) // 有的U盘总是返回未准备好,不过可以被忽略 { Util_Delay(8000); //printf( "Ready ?\n" ); if ( CH374DiskReady( ) == ERR_SUCCESS ) // 查询磁盘是否准备好 break; } // 查询磁盘物理容量 i = CH374DiskSize( ); UI32 size = mCmdParam.DiskSize.mDiskSizeSec * ( CH374vSectorSize / 512 ) >> 11 ; my_memcpy(mCmdParam.Open.mPathName, "/xxx/xxx.xx", nLen); //文件名 i = CH374FileOpen( ); // 打开文件 if(i != ERR_SUCCESS) return; int read = 64; <------------此处如果较大就无响应 mCmdParam.ByteRead.mByteCount = read i = CH374ByteRead(); if(i == ERR_SUCCESS) { UsartSend(mCmdParam.ByteRead.mByteBuffer, read); } CH374FileClose( );