USB外壳一定要接地吗? 我试过读写内存,都是正确的,ACT引脚连出来的指示灯会亮一会,然后就灭了,计算机显示无法识别的设备,请问这个问题怎么解决,是由于外壳没接地的原因吗?
1、外壳必须接地,否则USB总线容易受到干扰,导致数据出错,就会出现无法识别的设备 2、USB线也必须是屏蔽线 3、5V电压下,V3对地接0.01uF的电容,3.3V电压下,与VCC短接 4、整个板子的共地及PC的共地要良好
要正确的对CH374的相关寄存器初始化 产生这个现象还可能是中断函数没有正确处理。只有正确的传输相应的描述符,PC才能找到相应的驱动进行安装。
我用的就是你们提供的device的程序,我就是外壳没接地
你最起码要检测一下代码是怎么执行的。有没有进中断,中断里执行了哪些步骤,上已经告诉你一些现象了,你测试一下。
进中断了,看了一下中断代码,是总线挂起的代码,以前用375做的时候外壳没接地也没问题啊
在枚举期间,产生总线挂起是正常,随后会被唤醒的,如果总是挂起,那就不正常了 另外中断处理程序中,有没有调试输出,如串口打印之类,这部分数据量越少越好,否则否影响USB数据传输 可以把中断处理程序贴出来看看
你仔细检测一下,有没有进入复位中断?你测试一下UD+,UD-的对地电压各为多少
我什么都没改,就是你们的例子,用的SPI3_SW的借口程序,现在就是无法识别USB设备,可以进中断,确实第一次是进总线挂起,但是那个case里面把振荡器停止了,进入睡眠模式了,我把那句话屏蔽了,然后还可进中断,进的是控制中断,应该是对的,但是然后就没反应了,之后的情况我还没观察,这个和外壳接地关系大吗?
进入了USB传输完成中断,然后读出来的数据是9c,然后应该进入的控制传输,但是然后程序就不知道跑哪去了,单步也找不找,断点直接加在控制传输里面程序也跑飞,这是为啥啊
进入USB传输完成中断就是正确的了。不可能只进一次挂起的, 不可以单步跟踪,这样肯定会有问题。 第一步应该是进入获取设备描述符。不能单步调试。USB是有时间要求的,一定时间不响应则会通讯有问题。