CH375DiskReady size和open也不行
那在你做DISK-READY的时候,USB口上面有信号吗?同时在你做设备检测的时候,你可以去用万用表量下UD+和UD-对地的电压是多少?还有就是在做DISK-READY的时候,UD+和UD-的是否有信号?这个非常的关键
用示波器看UD+和UD-的是是有信号的。UD+是3V,UD-是0V。 信号是在CMD_DISK_INIT成功之后出现的。 还有就是现在我是用试验版飞的线,是否会有影响?
如果是飞线的话,那你需要注意USB的信号上面是否有干扰,你可以在USB上面串接2欧姆的电阻以及对地接一个20P的电容看可以不可以?那在做完DISK-INIT之后你做例如DISK-SIZE的命令是成功的吗?还有做DISK-READY这个命令是否成功。
DISK-INIT做完之后DISK-READY还是0x82,循环做几次都是一样情况。看来还是要画出板子再说了。
不知道返回0x82的问题解决没有? 我做的用ch375读u盘也存在这个问题,老是返回0x82,不知可以怎么解决啊?
我用C8051F10,并口方式,使用CH375HF5库文件,也出现了和你一样的问题,现在也在郁闷中 调用CH375DiskReady(),返回0x23 接着调用CH375FileOpen(),返回0x82 请高手指点。
首先头文件CH375HFX.H的位置请不要更改(不要放在前面) 检查DISK_BASE_BUF是否有效 UD+的的电压是否在3V以上. 楼上的建议你先做测试命令.看能不能通过.能测试硬件和时序是否正确.一定要测试通过. 如果CH375DiskReady( )不能通过继续操作对很多U盘来说是没有意义的
our 0x82 ERROR is from i=CH375DiskReady( ) i=0x82 best regards
i=CH375DiskReady(); i=0x82;
best regards to you all
i=CH375DiskReady(); return i=0x82;
best regards
i=CH375DiskReady(); i=0x82
best regards
sorry repeat post.
best regards
一般情况下返回0X82只要问题还是集中在USB口这边可能包括USB的四根信号线是否接反,同时中断引脚连接是否正常以及USB有没有串接电阻,按照正常的,USB是不应该串接电阻.
我又来了 板子作完,问题依然 用的是stm32的板子+串行操作 依然是CH375DiskReady( )返回0x82 用示波器看,中断有信号进入,D+有3.3V的电压,供电是4.9V 头文件位置和范例一样
还有前面的范例中 #define CH375_INT_WIRE_IN( ) { GPIOB->CRL = ( GPIOB->CRL & 0x0FFFFFFF ) | 0x40000000; }
void CH375_PORT_INIT( void ) { GPIO_InitTypeDef GPIO_InitStructure;
/* 配置CH375的A0,CS,WR,RD: PB6,PB5,PB1,PB0,为输出方式 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_5 | GPIO_Pin_1 | GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /* 推挽输出 */ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_Init( GPIOB, &GPIO_InitStructure );
/* 配置CH375的INT: PB7,IAP跳线: PB4,为输入方式*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init( GPIOB, &GPIO_InitStructure );
CH375_A0_CLR( ); CH375_CS_SET( ); CH375_WR_SET( ); CH375_RD_SET( ); CH375_INT_WIRE_IN( ); CH375_PORT_IN( ); }
对int口是否重复设置了?