??????///
你是做主机还是做设备??
不好意思,是“主程序开始先延时100到200MS试试”
你的单片机的拨特率设置多少??,CH375的默认拨特率为9600,还有串口方式只限于使用主机方式.程序中一些地方的40US延时不需要.
CH375做主机读写U盘,单片机的波特率设置为9600.程序中的延时40US是按照CH375手册上的命令和数据、命令和命令之间的时间间隔设计的。 按2楼说的先先延时100到200US试试再说,一会给出结果 谢谢各位关注!
主程序的延时没有必要,加入延时是防止在CPU操作CH375时CH375还没有初始化好,典型值应该为40MS.
在上面的主程序段之前有一段程序是测试板上的标志指示灯的,延时已经超过40MS了,按照手册CH375应该初始化好了。 哎!结果还是那样,怎么办呢,急死我了!
你没有发CMD_RD_USB_DATA命令
为什么要发CMD_RD_USB_DATA命令? 根据CH375手册:发命令#CMD_CHECK_EXIST后,发该命令的输入数据如55H,然后CH375输出的数据应该是AAH,只要在程序中读取该数据即可,不用发CMD_RD_USB_DATA命令,该命令是在中断后使用的.
你看下你返回的数据是多少啊??
看不到返回的数据,在 CHECKR: JBC RI, CHECKR1 AJMP CHECKR 处循环不往下执行
这两句之前要发CMD_RD_USB_DATA命令吗?
不是,你不是发了个CHECK_EXIT的命令吗?看这个命令返回的是什么数据
是否在发CHECK_EXIST命令后,紧接着读取CH375的数据?
是在CHECK_EXIT之后读数据,你不要在那边一直的死循环,你先看下如果返回的数据不是0XAA,你看下返回的到底是什么数据,这样才好分析是什么原因
输入下面数据时,程序陷入死循环,一直在等待375的返回数据 AAH,2AH,06H,60H,3AH,73H....
那就是你的硬件有问题啊,可能你的串口存在问题