论坛里的兄弟姐妹们,现请教各位以下问题。本人用STC的单片机并口接CH374芯片,想通过其读写U盘,利用U盘文件级子程序库CH374HF6.lib,参考贵公司提供的例程字节模式读写EXAM6,在做初始化的时候,步骤1CH374Init进入USB-HOST工作方式已经成功,我插入U盘#ACT出低点亮了灯,步骤2等待U盘连接也成功,但是做到步骤3,CH374DiskReady,始终失败,调用CH374DiskReady( )函数返回的值始终是0x20,这是为什么啊?是不是跟USB-HUB 有关啊?如果是的,怎么解决啊?
还有一个问题:我在调用系统提供的prinf函数向串口输出字符串的时候,软件仿真可以,但是把程序烧到芯片里就不行了,可以肯定的是串口初始化数据是正确的,因为我自己编写的向串口输出字符串的函数也是用的同样的初始化数据,烧到芯片是可以的。谁知道什么原因的说一说啊,谢谢了!
首先返回0X20的话,而前面操作是成功的,那么,你需要去检查下你的USB口那部分电路是否有问题,例如U盘是否5V供电,USB的4根信号线有没有反接,以及USB口和我们芯片之间连线是否正常等等。 其次,打印输出在你仿真器可以而下到单片机里面不可以的话,那么你需要看下你编译的时候RAM占用多少,因为打印输出是很占RAM的。
谢谢hcn,我按照你说的查了一下,供电是5V,接线图如下
好像硬件上没什么问题哎,怎么办啊?这个问题已经折腾我一天了,一点思路都没有哎,怎么解决啊,高手们帮帮忙啊
ch374的第5脚UEN我接地了,是不是这个问题啊?把UEN与地割断,也不行,哎
CH374的晶振一定是24M的,UEN引脚悬空即可。
为什么一定要24M的?我初始化的第一步CH374Init和第二步CH374DiskConnect( )都已经成功了,这不就说明ch374和U盘之间的通信是成功的吗
你用的CH374还是CH375?如果CH374我们提供资料里绝对没有说用12MHZ,没有为什么,芯片就是这样设计的。必须24MHZ。12MHZ工作将会不稳定。 程序这两部根本没有和U盘通讯。按照FQB所说的检查硬件,请相信我们专业的技术支持。返回0X20表示USB通讯有问题。
哦,谢谢!我原来设计的时候用的CH375,但是我同事买的ch374,所以出现了这些问题。谢谢!手上还没24m的晶振,郁闷,只有到节后试试了。再次谢谢!