metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
阅读:913回复:1

ISP1581bulk传输的问题

楼主#
更多 发布于:2004-07-02 21:05
我做了一个ISP1581的bulk out的实验板(仿造周立功的板子),发现在进行bulk传输时,总是重启计算机。不知什么原因。具体是当固件接收到Start Bulk Transfer(40 C0 71 04 00 00 00 01),后再接受6位数据(offset(3 bytes) length(2 bytes) director(1 byte))后,当固件通过endpoint0 in pipe向PC发送响应(ACK)时,具体说就是当向ISP1581模式寄存器(28H)的Status位置1时,代码如下:
    mov  R1, #28H
    movx A, @R1
    ORL  A, #02H   ;(给Status位置1)
->  movx @R1, A    ;一执行这一句计算机就重启
但当相应别的请求时并没用重启(如相应SetAddress、SetConfig时),不知什么原因。另用周立功的ISP1581开发板,做测试也是同样现象。不知什么原因。
测试环境:Windows 2000 、Widnows XP、Windows 98
希望各位大侠搭救。谢谢。
新手上路,请多关照.
darydl
驱动小牛
驱动小牛
  • 注册日期2003-06-29
  • 最后登录2017-05-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-07-08 22:40
没有用汇编做过,但是我怀疑你的pc机中厂商请求传输的数据包没有和固件中设置的一致。
游客

返回顶部