unsigned char CH375_InitDisk() { unsigned char status,i,j=0;
status=CH375_Wait_Int(); if(status==USB_INT_DISCONNECT) return 1; /* USB设备断开 */ while(1) { CH375_Write_Cmd(CMD_DISK_INIT); /* 初始化USB存储器 */ status=CH375_Wait_Int(); /* 等待中断并获取状态 */ if(status==USB_INT_SUCCESS) break; }
while(1) //以下代码均源自沁恒的官方U盘初始化函数,借用它可以提高对U盘的兼容性! { j++; CH375_Write_Cmd(CMD_DISK_SIZE); /* 获取USB存储器的容量 */ status=CH375_Wait_Int(); /* 等待中断并获取状态 */ if(status==USB_INT_SUCCESS) break; else { delay(1000); CH375_Write_Cmd(CMD_DISK_R_SENSE); /* 获取USB存储器的容量 */ status=CH375_Wait_Int(); /* 等待中断并获取状态 */ if(status==USB_INT_SUCCESS) /* 出现错误 */ continue; else return 1; } if(j==5) return 1; } for(i=0;i!=5;i++) { CH375_Write_Cmd( CMD_DISK_READY ); /* 获取USB存储器的容量 */ status=CH375_Wait_Int(); /* 等待中断并获取状态 */ if(status==USB_INT_SUCCESS) return 0; /* U盘已经成功初始化 */ } return 1; } 检查过了。INT一直是高电平。ACT也一直是高电平。但是CH357已经初始化成功了。。USB也是用5V供电的。