C#如何读取寄存器,最好给个示例,谢谢!VS2005的
//象下边的说明,我打算读出位5,和位3的数据,来查看打印机是否有错误,请问如何读取,十分感谢!!!!!
并行接口中有3个可访问的寄存器:数据端口、状态端口和控制端口口偏移地址分别为:
00h、01h和02h,基地址由FDC37C935的配置寄存器选定,ISA兼容的I/O地址为:378h(278h)
,379h(279h),37Ah(27Ah)。
数据端口寄存器
CPU通过这个寄存器与外部设备传送并行数据。寄存器数据在系统初始化过程中被清除
。当CPU对该寄存器进行写访问时,该寄存器在IOW#信号的上升沿处锁存CPU的写数据,然后
把锁存的写数据输出到D[0:7]数据线上。 当CPU对该寄存器进行读访问时,D[O:7]数据线
上的内容经并行接口缓冲(不被锁存)后送入CPU。
状态端口寄存器
CPU通过这个只读寄存器输入外部设备的状态信息,当CPU对该寄存器进行读访问时,各
对应状态信号线上的现行状态信息锁存于这个寄存器中并送至CPU。状态寄存器各位如下所
示。
7 6 5 4 3 2 1 0
BUSY# ACK# E SLCT ERROR# 0 0 0
位7锁存的是Busy输入引脚电平的反码,该位为0表示打印机为忙状态不能接受新的字
符数据:为1,表示打印机已准备好接受下一字符数据。
位6锁存的是ACK#输入引脚的状态,该位为0意思是打印机已经收到个字符数据并且可
以接受下一个数据了;为1意思是打印机还正在处理上一个字符数据或尚未收到数据。
位5锁存的是PE输入引脚的状态, 该位为1表示打印纸已用完:为0表示还有打印纸。
位4锁存的是SLCT输入引脚的状态, 该位为1表示打印机巳经联机;为0表示打印机末
被主机选择。
位3锁存的是ERROR#输入引脚的状态,该位为0表示一个打印机错误巳被检测到:为0表
示没有检测到错误。