用CH375读写U盘,对上电先后有要求吗?

我的情况是这样的:要是把U盘先插入USB口,然后再和单片机一起上电,上电速度快,检测不到U盘,在检测磁盘这一步就出错,,,,要是缓慢按下电源开关,可以, 先给主板上电,再插入U盘,也是可以正常工作的,就是不能同时上电,,,,USB接口接了470UF电容

上电的瞬间,U盘的吸入电流会比较大,导致CH375复位, USB接口的电容100uF即可,CH375的电源引脚对地接一个104的电容,软件上面上电之后多加点延时 测试一下


还是一样的呀


程序开始延时100ms,然后初始化375.然后检测U盘。 U盘供电不稳定是一方面,也有可能CH375根本没初始化成功


确实,有时候在初始化就失败了 i = CH375LibInit( ); // 初始化CH375程序库和CH375芯片,操作成功返回0 mStopIfError( i ); 什么原因呢


i = CH375LibInit( ); // 初始化CH375程序库和CH375芯片,操作成功返回0 mStopIfError( i ); while(1) { if( CH375DiskConnect()!=ERR_SUCCESS ) { LED_RUN_INACT( ); //绿灭 LED_OUT_INACT( ); // 黄灭 LED_WR_INACT( ); flie_pen=0; xQueryInterrupt( ); // 查询CH375中断并更新中断状态,等待U盘插入 } else //已经连接好 { LED_OUT_ACT( ); // 已经插入,黄LED亮 DelayNms(200); // 延时,可选操作,有的USB存储器需要几十毫秒的延时 CH375DiskConnect( ); } if(CH375DiskReady()!=ERR_SUCCESS) //查询磁盘是否准备好 { for ( i = 0; i < 10; i ++ ) { DelayNms( 100 ); if ( CH375DiskReady( ) == ERR_SUCCESS ) break; // 查询磁盘是否准备好 } } else LED_RUN_ACT( ); //可以开始操作U盘,绿亮


一个个检测,还是卡在了检测磁盘这里


你把读写时序放慢些,这可能是刚开始电路有抖动。一定要在上电后50ms以上才能操作CH375芯片。


我程序刚开始延时1000ms,还是没解决问题,崩溃了


对CH375的读写时序放慢些。仔细检查时序,是不是时序还有错误导致不稳定。


用的是总线方式,总线速度调的也是最低的的 STC单片机,没撤了我


1,你使用CH375工作电压是多少?如果是5V的话,建议你拿示波器去看下你电源上电的时候的变化。 2,如果采用3.3V工作的话,那么,应该不会出现你说的现象。


我用电脑USB供电的,,,,,,一直不好,现在换成开关电源供电,好多了


速度感觉也很慢,字节方式,写了50000次,每次30个字节,用了10多分钟


如果想速度块,那就不要用字节方式,用扇区方式比较块。


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