refugeesh
驱动牛犊
驱动牛犊
  • 注册日期2004-04-24
  • 最后登录2004-06-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1302回复:6

如何识别数据?兄弟们,救救我呀!

楼主#
更多 发布于:2004-04-26 20:22
USB在枚举过程中,能够根据setup包来译码,识别各种命令,做出对应的响应.

但是,当驱动加载成功后,USB设备里面的程序怎么来识别是否收到数据了呢?(收到setup包回对应产生中断),收到数据后,即使产生中断,我怎么来判别这是数据呢????
refugeesh@hotmail.com
LJ1978
驱动小牛
驱动小牛
  • 注册日期2004-02-25
  • 最后登录2011-06-08
  • 粉丝0
  • 关注0
  • 积分43分
  • 威望24点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-04-27 10:03
那必须通过软件判断。
如果是SCSI命令,那么是放在CBW包里面的。而CBW包的前四个字节就是标志。可以用这个来区分命令和数据。
或者还可以用接收的数据长度来判断。比如D12一次接收的数据就是64BYTE,而没有命令的长度是达到这数字。所以可以用此来判断数据或命令。长度可以在D12的第二个字节读出。
请给点分吧。哈哈。
refugeesh
驱动牛犊
驱动牛犊
  • 注册日期2004-04-24
  • 最后登录2004-06-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-27 10:14
我调试的是一个集成在DSP里面的USB模块,没有你所说的那些东东,
我想请问一下,在主机收发数据前,是不是先要向设备发送命令?
我如何来识别主机要求设备接收数据还是发送数据?
refugeesh@hotmail.com
LJ1978
驱动小牛
驱动小牛
  • 注册日期2004-02-25
  • 最后登录2011-06-08
  • 粉丝0
  • 关注0
  • 积分43分
  • 威望24点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-04-27 13:10
兄弟,那些东东不是我的。而是SCSI指令集啊。
LJ1978
驱动小牛
驱动小牛
  • 注册日期2004-02-25
  • 最后登录2011-06-08
  • 粉丝0
  • 关注0
  • 积分43分
  • 威望24点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-27 13:12
你现在是在响应SCSI指令吧。如果是的话那么就是按照我说的那些方法来判断啊。当然你不用D12那么我提到的第二种方法就没用了。但是第一种是放之四海而皆准的。
refugeesh
驱动牛犊
驱动牛犊
  • 注册日期2004-04-24
  • 最后登录2004-06-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-04-27 18:21
SCSI是什么东东呀,老兄,告知吧!
refugeesh@hotmail.com
LayManly
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-04-28 20:58
应该是一种传输协议
游客

返回顶部