gxjt
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2006-06-07
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1009回复:3

并行口EPP的基本I/O

楼主#
更多 发布于:2002-07-24 17:52
1.    并行口EPP的基本I/O
Ÿ    首先定义类KIoRange的一个实例,以对应EPP
KIoRange   m_ParPortIos;
status = m_ParPortIos.Initialize(
                    0x378,  // LPT1 Bus address
                       TRUE,  //InCpuIoSpace
                    8,      // Device size
                    TRUE  // Map to system space
                   );
Ÿ    下面就可以用类KIoRange的成员函数来访问EPP的寄存器了
      // EPP的寄存器相对于EPP基址的偏移量
#define CONTROL 2  //对应EPP的控制寄存器(37A)
#define ADDRESS 3  //对应EPP的地址寄存器(37B)
#define EDATA   4  //对应EPP的扩展数据寄存器(37C)
//设置控制寄存器
    m_ParPortIos.outb(CONTROL,0x80);
//  EPP读
   m_ParPortIos.outb(ADDRESS,addr); //addr是实际编程中你要访问的设备单元的地址
    UCHAR  data = m_DeviceIos.inb(EDATA)
//  EPP写
   m_ParPortIos.outb(ADDRESS,addr); //addr是实际编程中要访问的设备单元的地址
    m_DeviceIos.outb(EDATA,data); //data是实际要写入的数据

请问大侠们,m_DeviceIos是什么?有高分奖

最新喜欢:

lily311lily31...
[color=red] “阿弥陀佛,无上医王,舍此不求,是谓痴狂。” “一句弥陀,阿伽陀药,舍此不服,是谓大错。” 南无阿弥陀佛......[/color]
gxjt
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2006-06-07
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-07-25 10:47
高手都到哪儿去了,没人能帮我吗
[color=red] “阿弥陀佛,无上医王,舍此不求,是谓痴狂。” “一句弥陀,阿伽陀药,舍此不服,是谓大错。” 南无阿弥陀佛......[/color]
zhifeng
驱动牛犊
驱动牛犊
  • 注册日期2001-12-28
  • 最后登录2008-07-23
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-07-25 10:57
下面的东西可能对你有帮助
void EPPReadByte(unsigned short addr,unsigned short *data)
{
……
LPT=0x378;
Status=LPT+1;
Control=LPT+2;
EPPAddr=LPT+3;
EPPData=LPT+4;
/*输出地址*/
outportb(Control,0xC4); /*Disable Port Read,以及初始化nDataStrobe, nAddre
ssStrobe*/
/*和nWrite */
outportb(EPPAddr,addr);/*Output address to address register,此时nAddressSt
robe*/
robe*/
/*和nWrite管脚变为低电平*/
outportb(Status,1); /*确保Status寄存器的bit0清除*/
/*读入数据*/
outportb(Control,0xE4); /*Enable Port Read*/
*data=inportb(EPPData);/*读入数据,此时nDataStrobe变为低电平nWrite为高电平
*/
outportb(Status,1); /*确保Status寄存器的bit0清除*/
}
zhifeng
gxjt
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2006-06-07
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-25 11:02
谢谢楼上的朋友,分全给你,真不知\"大侠们\"哪去了

[编辑 -  7/25/02 by  yunfangfan]
[color=red] “阿弥陀佛,无上医王,舍此不求,是谓痴狂。” “一句弥陀,阿伽陀药,舍此不服,是谓大错。” 南无阿弥陀佛......[/color]
游客

返回顶部