newill
驱动牛犊
驱动牛犊
  • 注册日期2002-11-13
  • 最后登录2005-01-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1125回复:1

关于如何读写pci9052寄存器的问题?

楼主#
更多 发布于:2003-05-19 17:53
有一个问题想问你一下,是这样的:
    我想通过pci9052做一个东西,这个东西只要在输入端改变高低电平状态就可以了。现在我把这个东西接在pci9052的USER0脚上,想通过USER0输出高或低电平来控制它工作,我想硬件上应该没问题。
    现在的问题就出在如何用软件进行控制上,也就是如何通过应用软件控制驱动程序,然后驱动程序又如何控制USER0根据需要分别输出低或高电平。
    通过查pci9052的databook知道,实际上USER0的输出是由pci9052芯片的CNTRL寄存器控制的,其中:
    1)第0位表示USER0脚是选的哪个功能,因为该pin是复用的,0时选的是user IO功能 ;
    2)第2位表示USER0是输入还是输出,1是输出;
    3)第3位表示输入输出的电平状态,1为高电平。
    根据databook,现在我如果在某时刻需要USER0输出高电平,那么我就需要把CNTRL寄存器的0、1、2位分别写入0、1、1,但我查了很久,就是不知道在驱动程序里怎么写寄存器,该CNTRL寄存器在databook里标了是local configuration register,还写了50h,这50h在驱动程序里怎么用我就纳闷了。

    总之,我就不知道,从应用程序开始,经过驱动程序,到底如何改变寄存器的值,从而改变输出呢。
    应用程序可以用WriteFile吗?而驱动程序里该怎么操作呢?
    thanks。


[编辑 -  5/19/03 by  newill]
古士亲
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-05-19 18:52
用户被禁言,该主题自动屏蔽!
游客

返回顶部