我用的是LPC2114+CH375评估板。 printf( "Start\n" );
i = CH375LibInit( ); /* 初始化CH375程序库和CH375芯片,操作成功返回0 */ mStopIfError( i ); /* 其它电路初始化 */
while ( 1 ) { printf( "Wait Udisk\n" ); while ( CH375DiskStatus != DISK_CONNECT ) xQueryInterrupt( ); /* 查询CH375中断并更新中断状态,等待U盘插入 */ LED_OUT_ACT( ); /* LED亮 */ mDelaymS( 200 ); /* 延时,可选操作,有的USB存储器需要几十毫秒的延时 */
/* 检查U盘是否准备好,有些U盘不需要这一步,但是某些U盘必须要执行这一步才能工作 */ for ( i = 0; i < 15; i ++ ) { /* 有的U盘总是返回未准备好,不过可以被忽略 */ mDelaymS( 100 ); printf( "Ready ?\n" ); if ( CH375DiskReady( ) == ERR_SUCCESS ) break; /* 查询磁盘是否准备好 */ } /* 查询磁盘物理容量 */ i=CH375GetVer(); printf("%d\n",i); printf( "DiskSize\n" ); i = CH375DiskSize( ); mStopIfError( i ); xWriteCH375Cmd(CMD_DISK_SIZE); printf( "TotalSize = %d MB \n", (unsigned int)(mCmdParam.DiskSize.mDiskSizeSec<<11)); // 显示为以MB为单位的容量
前面都正确,为什么返回的TotalSize=0(磁盘容量)?