用stm32接CH376s接U盘。用SPI通信。用有些2.0的U盘可以成功读写有些U盘不行。3.0的U盘我这就一个插上去也不行,有没有大神解答一下???
你说的U盘不行,具体是到哪一步?有没有中断返回,返回值是什么?
U盘都是好的插电脑上都正常。我这U盘好几个。一部分插上可以正常连接成功打开读写各功能都正常。一部分插上以后连接都连接不上。ACT脚拉出去的灯都没亮。
不行的U盘发送CMD0H_DISK_CONNECT。返回0x82。
你好:
这种情况一般查找硬件原因,ch376就没有检测到你的U盘连接,那么后面的步骤都不用做了。
检查一下板子上U口部分供电,有的U盘耗电较大,插上的瞬间可能U口电压就被拉下来了,导致U盘供电不足;
供地问题,U口接U盘外壳要接地,地线加粗,板子铺铜。在USB口地vcc和gnd并联大电容(至少几十uf)。
这是USB硬件原理图,插上有问题U盘后用万用表测电源电压5.05V没有被拉低
图上1Ω电阻可以去掉,直接短接,电容C1和C2尽量靠经USB_VIN。不知道你用的是什么电源供电,最好用示波器看一下USB_VIN脚电平状态。你确保软件上设置模式初始化部分都通过了吧?
电源是12V电源适配器拉进来再经降压模块降到5V拉进去。程序初始化CMD11_SET_USB_MODE设置工作模式成功的CMD20_SET_SDO_INT设置中断方式也成功的,返回值都没问题。工作模式设置的是模式代码为0x06,表示切换到已启用的USB主机方式,自动产生SOF包
在吗??我最近也在自己做这个东西 可是不行 可以参考下你的代码吗???、 我还在读大学,可以帮帮我吗??接你的资料代码看看 可以加我QQ994099840 或者发我邮箱 个人信息保护,已隐藏 感激不尽