zyz1974
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1213回复:4

读数据出错的问题解决

楼主#
更多 发布于:2003-11-07 09:22
Read IOCTL passed
0000 E8 A0 11 00 01 00 02 00 03 00 04 00 05 00 06 00
0010 07 00 08 00 09 00 0A 00 0B 00 0C 00 0D 00 0E 00
0020 0F 00 10 00 11 00 12 00 13 00 14 00 15 00 16 00
大家看一下,我读的数据应该是从00 00开始的,结果现在从E8 A0开始了,也就是说多出来一个不是我想要的字,并且后面应该是00 00结果也变成了11 00了,希望大家谈论一下如何解决
fancery
驱动牛犊
驱动牛犊
  • 注册日期2003-07-24
  • 最后登录2005-09-07
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-11-07 09:49
0000是地址,E8 A0是数据。如果一次读写是16bit,从0000读出来的数据就是E8 A0;如果是32bit,从0000读出来的就是E8 A0 11 00了。你是不是用的16bit数据端口的USB芯片,但是程序中是要对32bit的寄存器进行操作呢?!如果是这样,接下来怎么把高16bit和低16bit的数据取出来你应该知道吧!
zyz1974
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-07 12:30
多谢你的回答。我用的的确是16位的USB数据总线,可是你所说的程序中是要对32bit的寄存器进行操作,这一点好像没有哪里能看出来啊?清说详细点好吗?
zyz1974
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-11-07 12:33
问题的焦点在于何来程序对32为寄存器进行操作呢?假如真的是对32位寄存器操作的话,我该怎么做呢?请指点
zyz1974
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-11-07 15:59
楼上的,你的说法好像不太对啊。
游客

返回顶部