minewdy
驱动牛犊
驱动牛犊
  • 注册日期2003-06-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1197回复:6

再问一个简单问题(20分)

楼主#
更多 发布于:2003-08-07 19:02
我的目的是读取AC97 声卡的 master volume 信息,根据要求需要读取寄存器的值,现在我可以通过写驱动读到准确的配置空间的信息(10h--13h 的地址为 0000 ed01),知道 master volume 的 primary offset 为02h, 想问各位大虾,通过以上两个值 ,如何可以读到 master volume 的数据呢?







---------------------------
小弟新手,还望指教



minewdy
驱动牛犊
驱动牛犊
  • 注册日期2003-06-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-08 09:54
看来这个问题不简单阿,都没有人知道如何去读了这个音量信息呢
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-08 10:15
读寄存器知道了首址和偏移地址不就够了
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-08 10:47
10h--13h 的地址为 0000 ed01
说明是IO ADdress而不是Memory mapped IO,BaseAddress=0xED00,

master volume 的 primary offset 为02h
则读的话还应该是知道primary offset是8bit还是16bit。
如在WDM中用
READ_PORT_UCHAR(0xed00+0x2)
或READ_PORT_USHORT(0xed00+0x2)
助人乃快乐之本 有人给分就更快乐了 :-)
minewdy
驱动牛犊
驱动牛犊
  • 注册日期2003-06-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-08 11:58
读寄存器知道了首址和偏移地址不就够了


呵呵,这个道理我懂,只是我不知道我从配置空间读出来的那个地址是不是你说的首地址,偏移地址应该没错
minewdy
驱动牛犊
驱动牛犊
  • 注册日期2003-06-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-08-08 15:00
10h--13h 的地址为 0000 ed01
说明是IO ADdress而不是Memory mapped IO,BaseAddress=0xED00,

master volume 的 primary offset 为02h
则读的话还应该是知道primary offset是8bit还是16bit。
如在WDM中用
READ_PORT_UCHAR(0xed00+0x2)
或READ_PORT_USHORT(0xed00+0x2)


primary offset 是个16位的,不过你写的下面的两个语句不能用,在编译的时候通不过
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-08-09 13:12
你是在驱动中做吗?
如果不是,只是在普通的应用程序中,
VC的话就用_inp和_outp就可以了。
助人乃快乐之本 有人给分就更快乐了 :-)
游客

返回顶部