阅读:1552回复:9
请教SL811HS问题
小弟现在遇到大难题,请教请教!
我在读U盘的过程中,连续发送几个read(10)指令给设备,经常出现前面若干个读操作正常,突然检测不到USB_A_DONE,然后一直如此,U盘灯一直亮着。 可是,有的时候多个读操作会全部通过。 检查不出原因,郁闷!那位大侠指点一下迷津? |
|
沙发#
发布于:2004-02-18 08:50
我改成了中断,发现芯片稳定多了,再次万分感谢jiangyiyong大侠。 应该不是,cypress的例程都是读寄存器而不是中断,而且其工程师告诉我所有的中断都映射成标志了,不会有什么问题的。我就用得好好的。 |
|
板凳#
发布于:2004-02-18 08:31
恭喜!
|
|
|
地板#
发布于:2004-02-17 20:57
我改成了中断,发现芯片稳定多了,再次万分感谢jiangyiyong大侠。
我想可能是不停地读SL811的状态寄存器,使得其负荷太大,以至于经常工作不正常吧。 |
|
地下室#
发布于:2004-02-16 17:12
如果不出意外的话,应该是你的D0/D1的顺序弄错了
|
|
|
5楼#
发布于:2004-02-16 16:39
jiangyiyong大侠,请问在MASS STORAGE阶段出现经常一直出现NAK,是怎么回事?怎么处理呢?
|
|
6楼#
发布于:2004-02-16 16:35
谢谢!
|
|
7楼#
发布于:2004-02-16 16:27
你为什么要用轮询呢,你把它接到DSP的中断,在中断处理里作看看有没有中断的丢失,或者你仔细检查你的中断处理函数,是否存在中断丢失的隐患,会不会中断发出了,但你的程序正在处理别的中断没来得及处理它。
|
|
|
8楼#
发布于:2004-02-16 16:07
是用轮询的方法。
我试着改变参数让它跳出循环,作重发处理后,仍然是检测不到USB_A_DONE。 小弟用的DSP和SL811连接的,是不是硬件上有问题? |
|
9楼#
发布于:2004-02-16 11:37
你是怎么检测USB_A_DONE的,轮询吗?
|
|
|