自己制作的CH375B的PCB,烧下程序后执行下列的程序后测试 [code] CH375_Write_Com(CMD_CHECK_EXIST);//执行测试函数 CH375_Write_Dat(0xaa);//写入任意数据,输出数据为此数据取反 status=CH375_Read_Dat(); [code] 如发送一个0xaa,都能返回一个0x55,但发送0xff时大部分返回是0x00,有时的返回值不对 但似乎就只有0xff有问题 换个0xfa返回值也会是正常的。 模式设置为0x06之后,当插入U盘的时候,INT#没有产生低电平,此时读状态是0x16,也就是U盘没有连接上,ACT#灯也没有闪烁,U盘上的指示灯也没有闪烁。 这时D+上为+3.26V,D-为近0V,USB接口电压为+4.56V,用示波器看过INT#完全没有低电平,也用示波器看过U盘插上时电源的电压变化,刚插上时会阡到3.56V左右,但马上恢复了(并联了330uF电容),查过硬件电路,INT#脚也没有虚焊,真的很奇怪。请大家帮帮忙,新手,有需要什么信息就直接问,要的话可以把原理图和PCB,程序都放上来,谢谢大家了[Emot]1[/Emot][Emot]1[/Emot]
测试命令最好做两次 1 发送0x55,返回0xaa 2 发送0xaa,返回0x55 你的电源系统好像有问题,U盘供电4.56V,太低了, 必须保证在5V
谢谢回答,电源我用的是普通MP3充电的电源,+5V 500mA的,接上去之后就有压降,INT#和CH375B的电源电压有很大的关系么?可恶的INT#。我先给它加到5V试下吧! 两次测试命令0xfa 0xaf的返回正确的,
请问 ACT#灯亮能说明什么问题?
ACT#在CH375DS1里有说明。表示设备连接。ACT灯不闪烁。 你把中断引脚翘起来,初始化模式成功后,插入U盘,用示波器看看这个脚是否有低电平变化
好的,USB口两端的电压5.01V,ACT#有时亮有时不亮,毫无规律,很是奇怪。一直复位,INT#才可能有一次会出低电平。我去试下!先谢谢了!
是程序的问题!改完之后马上正常了! Select_Ch375(); CH375_Write_Com(CMD_RESET_ALL);//CH375执行复位 delay(100); CH375_Write_Com(CMD_CHECK_EXIST);//执行测试函数 CH375_Write_Dat(0xaa);//写入任意数据,输出数据为此数据取反 P2=CH375_Read_Dat(); delay(300); CH375_Write_Com(0x15); delay(1); CH375_Write_Dat(0x06); delay(10); InitDisk(); 谢谢楼上两位的帮助!