请问hcn: 当我将USB设备拔出后,CH375芯片ACT#管脚所接的发光二极管仍亮着,这是否正常呢?
另:我的实验用了仿真器,程序执行很不稳定,很多时候,程序执行到同一个地方,但用仿真器观察到变量的值却不一样。这是硬件的问题么?抑或是程序不够完善? 麻烦hcn抽空回答一下,谢谢!
请问hcn: 当我将USB设备拔出后,CH375芯片ACT#管脚所接的发光二极管仍亮着,这是否正常呢?
另:我的实验用了仿真器,程序执行很不稳定,很多时候,程序执行到同一个地方,但用仿真器观察到变量的值却不一样。这是硬件的问题么?抑或是程序不够完善? 麻烦hcn抽空回答一下,谢谢!
我们的ACT#实际上在做主机的时候是USB设备连接状态的检测,当检测到USB设备连接的时候,ACT#为低,你拔出设备之后还为低的话好象不太正常。 你用仿真器的时候,在有的时候是不可以设置断点的,例如控制传输这一块,还有就是你执行到一个地方的话,那么是错误了还是别的问题呢?请把问题说明白点,如果是错误的话,那么返回的错误代码是多少?
拔出设备后,ACT#还是为低。 我现在处在USB初始化阶段,还没有开始传输数据;我并没有在程序中设置断点,只是为便于观察相关变量起见,在程序的某个地方用了while(1);语句,让程序到此无法继续往下执行,这样是否也不可以? 情况就是这个样子。
你可以通过串口输出.这种调试我没试过,不过你在调试的时候,就是在USB的控制传输的时候要是5MS没响应的话就会出错
请问这样的延时是否科学呢: delay50ms() { unsigned char i,j; for(i=100;i!=0;i--) for(j=250;j!=0;j--); } 我在运用过程中,发现50ms的延时,却执行了好长时间。
看下你反汇编的代码计算下就知道了啊
上述延时子程序,有时很快就能执行完,但有时好像需要较长的时间。 这个我通过示波器能观察出来。
“你可以通过串口输出.这种调试我没试过,不过你在调试的时候,就是在USB的控制传输的时候要是5MS没响应的话就会出错” 你这句话我不是很明白。 有时在程序执行完复位后,拔出USB设备,灯会灭;在程序不执行的时候,再插上,灯就会亮。 很奇怪,程序都没有执行,插上设备,灯就会亮。
这是正常的啊!那是因为375检测到USB设备连接的话,ACT#就为低。