astrostar
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2005-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1552回复:9

请教SL811HS问题

楼主#
更多 发布于:2004-02-14 14:34
小弟现在遇到大难题,请教请教!
    我在读U盘的过程中,连续发送几个read(10)指令给设备,经常出现前面若干个读操作正常,突然检测不到USB_A_DONE,然后一直如此,U盘灯一直亮着。
    可是,有的时候多个读操作会全部通过。
    检查不出原因,郁闷!那位大侠指点一下迷津?
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-02-18 08:50
   我改成了中断,发现芯片稳定多了,再次万分感谢jiangyiyong大侠。
    我想可能是不停地读SL811的状态寄存器,使得其负荷太大,以至于经常工作不正常吧。


 

应该不是,cypress的例程都是读寄存器而不是中断,而且其工程师告诉我所有的中断都映射成标志了,不会有什么问题的。我就用得好好的。
jiangyiyong
驱动大牛
驱动大牛
  • 注册日期2002-11-28
  • 最后登录2004-08-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-02-18 08:31
恭喜!
我来自中国 抵制日货
astrostar
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2005-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-02-17 20:57
    我改成了中断,发现芯片稳定多了,再次万分感谢jiangyiyong大侠。
    我想可能是不停地读SL811的状态寄存器,使得其负荷太大,以至于经常工作不正常吧。


jiangyiyong
驱动大牛
驱动大牛
  • 注册日期2002-11-28
  • 最后登录2004-08-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-02-16 17:12
如果不出意外的话,应该是你的D0/D1的顺序弄错了
我来自中国 抵制日货
astrostar
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2005-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-02-16 16:39
jiangyiyong大侠,请问在MASS STORAGE阶段出现经常一直出现NAK,是怎么回事?怎么处理呢?
astrostar
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2005-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-02-16 16:35
谢谢!
jiangyiyong
驱动大牛
驱动大牛
  • 注册日期2002-11-28
  • 最后登录2004-08-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-02-16 16:27
你为什么要用轮询呢,你把它接到DSP的中断,在中断处理里作看看有没有中断的丢失,或者你仔细检查你的中断处理函数,是否存在中断丢失的隐患,会不会中断发出了,但你的程序正在处理别的中断没来得及处理它。
我来自中国 抵制日货
astrostar
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2005-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-02-16 16:07
是用轮询的方法。
我试着改变参数让它跳出循环,作重发处理后,仍然是检测不到USB_A_DONE。
小弟用的DSP和SL811连接的,是不是硬件上有问题?
jiangyiyong
驱动大牛
驱动大牛
  • 注册日期2002-11-28
  • 最后登录2004-08-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-02-16 11:37
你是怎么检测USB_A_DONE的,轮询吗?
我来自中国 抵制日货
游客

返回顶部