本人在设计89c51扩展usb口时候,ch375上电复位已经正常了,但是当我插上usb设备的时候,比如u盘,在查看usb设备时候连接上的时候,收到的数据总是0x5F。这是怎么一回事啊?
0x5F是命令操作失败,说明你的命令没有发下去.
首先,你呀设置375的模式为0X06,其次,如果设置模式不成功的话,那么,你要用测试命令来检查你的硬件有没有问题,再次,如果上面的操作都成功的话,那么你插上U盘之后,375的中断脚会变低吗??
回复楼上。我们的工作模式06设置成功了,但是插上u盘,375的中断引脚没有变低,所以老是不能找到u盘,请问这是怎么回事。
你测一下你插上U盘后,U盘的电压是多少,有的U盘低于4.6V左右的话可能就不工作了。
插上u盘,电压是5。0伏 然后设置工作模式为06,设置正常
你在设置模式之前,用CHECK_EXIST命令检测375和单片机的硬件连线有没问题吗?你用这个命令先发数据55看返回的是不是AA,在反过来发AA看收到的是不是55,先确保你的硬件连线没有问题。
回复楼上的:
CHECK_EXIST 我用过了的,收到的是55,同时set_usb_mode设置是06,设置也对了。u盘电压是5v,d+是3v,d-是0v,但是就是插u盘,int就是不变低
你的程序只要写到设置模式6,后面的先不要写,当程序运行之后在插上U盘你看下会不会变低,其次就是你的INT引脚会不会被其他的设备拉高了?你也可以这样做下,将你的模式设置成0X02,看下UD+的电压是多少?如果为3。3V左右的话,那就说明你的硬件是没有问题的,再次,在你的USB口加一个100UF的电解电容试下看,因为当你插上U盘的瞬间,电压降的太低的话也会出现这种问题
回复楼上,按照你的方法作了修改和测试,但是问题依旧
U盘的电压是4.88V算不算正常啊