阅读:1139回复:1
关于如何读写pci9052寄存器的问题?
有一个问题想问你一下,是这样的:
我想通过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] |
|
|
沙发#
发布于:2003-05-19 18:52
用户被禁言,该主题自动屏蔽! |
|