感谢+继续求助 [原创]

我用的是ch375主机控制U盘 首先感谢这些天大家的帮忙,小弟的电路初步完成,初始化已成功。再次感谢贵公司的技术支持的答复 luoye.hcn,Skunk,和刀刀,以及各位帮助我的兄弟们。。。。 这里还要继续请教: 1.在初始化完成后,我的程序 老死在打开文件这一步: i = CH375FileOpen( ),跳不出来~~ 2.我用的是清华紫光的1G优盘,但是 显示出来的 大小是2246MB printf( "TotalSize = %u MB \n", (unsigned int)( mCmdParam.DiskSize.mDiskSizeSec >> 11 ) ); // 显示为以MB为单位的容量 现在开始 准备读写U盘了,但被这个打开文件函数就给卡住了,希望大家继续给于帮助 代码就是用的公司的: main( ) { UINT8 i, c; UINT16 TotalCount; UINT8 code *pCodeStr; LED_OUT_INIT( ); LED_OUT_ACT( ); /* 开机后LED亮一下以示工作 */ mDelay100mS( ); /* 延时100毫秒 */ LED_OUT_INACT( ); mInitSTDIO( ); /* 为了让计算机通过串口监控演示过程 */ printf( "Start\n" );

i = CH375LibInit( ); /* 初始化CH375程序库和CH375芯片,操作成功返回0 */ mStopIfError( i ); /* 其它电路初始化 */

while ( 1 ) { printf( "Wait Udisk\n" ); while ( CH375DiskStatus != DISK_CONNECT ) xQueryInterrupt( ); /* 查询CH375中断并更新中断状态,等待U盘插入 */ // while ( CH375DiskStatus < DISK_CONNECT ) { /* 查询CH375中断并更新中断状态,等待U盘插入 */ // if ( CH375DiskConnect( ) == ERR_SUCCESS ) break; /* 有设备连接则返回成功,CH375DiskConnect同时会更新全局变量CH375DiskStatus */ // mDelay100mS( ); // } LED_OUT_ACT( ); /* LED亮 */ mDelay100mS( ); /* 延时,可选操作,有的USB存储器需要几十毫秒的延时 */ mDelay100mS( );

/* 检查U盘是否准备好,有些U盘不需要这一步,但是某些U盘必须要执行这一步才能工作 */ for ( i = 0; i < 5; i ++ ) { /* 有的U盘总是返回未准备好,不过可以被忽略 */ mDelay100mS( ); printf( "Ready ?\n" ); if ( CH375DiskReady( ) == ERR_SUCCESS ) break; /* 查询磁盘是否准备好 */ } /* 查询磁盘物理容量 */ /* printf( "DiskSize\n" ); i = CH375DiskSize( ); mStopIfError( i ); printf( "TotalSize = %u MB \n", (unsigned int)( mCmdParam.DiskSize.mDiskSizeSec >> 11 ) ); 显示为以MB为单位的容量 */ LED_RUN_ACT( ); /* 开始操作U盘 */

/* 读取原文件 */ printf( "Open\n" ); mCopyCodeStringToIRAM( mCmdParam.Open.mPathName, "/C51/CH375HFT.C" ); /* 文件名,该文件在C51子目录下 */ i = CH375FileOpen( ); /* 打开文件 */[b]文字[/b]

你使用的是什么样的单片机,速度是多少?


你使用的是什么样的单片机,速度是多少?


我也和 feeling 遇到了同样的问题! 我使用的是 CH375A ,单片机是 MOTO 的 MC9S12DJ64 单片机,16 M 晶振, Operation at 50MHz equivalent to 25MHz Bus Speed 请问问题出在哪里?应该如何解决?


我用的是SST89E564RD,晶振是22。1184MHz。 还有,我们是用keilc软件在线单步执行的~~


对文件进行读写操作,不要单步执行,你全速执行或者直接烧到单片机里看可不可以.


我试了,在他下面一行处加了断点 ~~然后让全速执行,还是程序到不了那个断点~~ 为什么呀??与u盘型号有关系么???


CH375DiskReady( )这个函数通过了吗?还有那你看下U盘的一个扇区是不是512字节,有的大容量的U盘一个扇区是2048字节,那CH375是不支持的.


CH375DiskReady( )这个函数通过了。 我还是初学者,那个U盘扇区怎么看??


你可以到网上下载Winhex软件看下U盘的扇区是多大.


我刚查了,一个扇区2048字节~~ 难道我又发现了一款不支持的。。。 谢谢了,我再找找别的。。。


你可以使用CH374芯片,我们提供374的库是支持大扇区的


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