在没有插入U盘时,复位和检测命令都很正常,但是插入U盘以后,检测命令读出的数据不正常,当发送"CH375DiskQuery"或者其他一些命令,返回的状态值都是"0X1D",我测试过,三个复位信号都正常,RSTI为低电平,RST为低电瓶,RST#为高电平,中段信号为高电平,电压也都正常,U盘供电已经单独的5V供电,其他工作电压是3.3V,都很正常. 但是我不知道为什么插上U盘就不能正常工作,请问公司能提供解答吗??非常感谢!!
库的初始化过了没有?
通过了! 返回的的状态总是"0X10",查过时序了,时序没有出错,请教hcn,现在可能是哪里出问题了呢??非常感谢!
i = CH375LibInit( );这个函数通过了吗?还是返回的值是0X10,要是这样的话,那估计还是你的硬件上面存在问题。你的USB口和375相连接的线是不是连接正确?
没有插U盘的时候是返回"0X00",但是插了U盘就是"0X10"了! USB口和375的连接是正确的! 刚刚做了一个实验,插上U盘以后,复位和初始化以后,我先检测了CH375DiskStatus,当检测到是连接状态后,再调用CH375DiskReady( ),然后我做了死循环,一直发送检测命令CMD_CHECK_EXIST,并显示检测结果,再调用CH375DiskSize(); 得到的结果是:开始几次结果是错误的,循环了好多次以后,检测命令返回的值正确,CH375DiskSize()返回的状态正确是"0X00",但是得到的mCmdParam.DiskSize.mDiskSizeSec出错. 另外,因我做的是死循环,过一段时间以后,测试命令和那个函数返回的状态均不正确,必须要重新上电,再载入程序后,又重复出现以上现象! 请问hcn大哥,你认为是哪里出问题了呢??非常感谢!
另外想请教一个问题,SET_USB_MODE命令,我没有使用!是不是需要在初始化的时候设置USB的工作模式呢?
会不会你的读和写的子函数的延时不够啊?还有就是你的中断线连接的正确吗?
中断线连接正确的!我们的系统以前那个中断是用于LAN模块的,连线没有问题,另外中断信号也正常! 至于读写延时,我加长一点看看!
还是不能正常工作,hcn能帮我分析一下原因吗??
那你的375和USB口的连线正确吗?
正确
发送设置USB工作模式命令时,返回的操作状态是"0X15",不知道是什么意思!
我也是. 发送设置USB工作模式命令06时,返回的操作状态是"0X15",是连接USB状态!应该是14才对.
USB_INT_CONNECT 0x15 /* 检测到USB设备连接事件 */ 就是375做主机的时候将USB设备插上的话,会先产生51(操作成功的状态),接着又会产生0X15的中断状态,所以在设置模式的时候,只要你前面的检测命令过了的话,那么你在设置模式的时候都可以不用去判断其返回的状态