您好: 我的设计是这样的: 用的CH375并口模块,HOST模式,单片机是用的PIC18F452,1K内存。但是在初始化375时,用CMD_CHECK_EXIST命令测试,返回为0x51,不是0x00.按照贵公司的说法:用CMD_CHECK_EXIST命令测试硬件问题,该命令必然返回数据,如果返回数据不是0FFH,那么通常是数据总线连接错误,这种问题容易处理,可以根据返回的值分析是哪个数据线有误。如果返回数据是0FFH,那么可能CH375不正常,例如,无时钟、未复位、读写片选线有误、工作于串口方式等。 我测试过数据总线,D0-D7正确连接PORTD并行口,应该是没有问题的,请问应该怎么解决?谢谢!
你可能理解有点问题,我们所说的测试命令实际上指的是单片机和375之间的硬件连线有没有问题,而对于模块的话,则不需要用这个命令来检查你的硬件连线有没有问题,你在程序一开始的时候,直接发一个CMD_QueryStatus,也就是查询模块的状态命令,如果返回的值是检测到U盘的连接的话在发CMD_DiskReady命令过去就可以了,而不需要你上面的步骤。
原来这样啊,谢谢!我再试试看
改过来了,但是发一个CMD_QueryStatus命令后,没有返回。采用的是并口加查询,但是375模块一直没有产生中断信号,以至发CMD_QueryStatus命令后无法返回,这是怎么回事?
这个命令是检查U盘有没有连接,你要插上U盘之后在看下有没有返回,还有就是如果还没有返回的话,那么你测下模块上面的375的第1脚是低电平吗?,如果是低电平而你测的和你单片机系统连接的INT为高的话,那就说明你的8个数据线,STA,WR线连接有问题,命令没写下去
插上U盘之后,测试375的第1脚是高电平,测试INT也是为高,还是没有返回,多次试验都这样
程序是参照CH375HM.C来写的,包含了头文件CH375HM.H。现在的问题是发一个CMD_QueryStatus命令后,执行这个命令的函数ExecCommand( CMD_QueryStatus, 0 )没有返回状态值,执行这个函数的时候单片机一直在查询INT引脚,等待375模块执行完查询命令后使INT引脚变为底电平,实际上INT一直维持高电平导致单片机陷入无限查询,函数ExecCommand( CMD_QueryStatus, 0 )后面的程序部分从来没有执行到。这是不是375模块的问题?
你看下你的模块可以不可以自动演示?在模块的说明书里面有介绍模块的自动演示,先上电,在将U盘插上,接着在将跳线J1短接,看可以不可以在U盘里面新建一个自动演示的文件,如果可以的话,那么说明模块没有什么问题,如果不可以的话,那可能就是模块有点问题,还有一个问题就是你插上U盘之后,U盘两端的电压是多少?太低的话,可能U盘不会工作
今天拿到知春电子电子城去测试了,模块没有问题,能自动生成演示的文件。插上U盘之后,U盘两端的电压是3.1V的样子,是不是太低了?请问这如何解决
电压是太低了,你换一个电源供电试下看,换一个电流大点的电源。因为有的U盘低与4。6V就不工作了,
发现原来的线接错了,当时以为模块的接口第一排线是9-16,第二排线是1-8,15,16在第一排。原来15、16一个在第一排,一个在第二排。请问:1-16的顺序是s形的吗?1在下,2在1的上,然后3在1的右边,4在3的上边,依次循环,对吗?谢谢!