dama_01
驱动牛犊
驱动牛犊
  • 注册日期2002-10-10
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:897回复:3

关于VXD下写IO口的问题――各位大老救命!

楼主#
更多 发布于:2003-08-14 20:24
我用的PC104扩展总线的工控机,有一个时钟芯片8254挂在PC104上
我需要在VXD中初始化8254,方法是:

写0x34到地址为0x223,0x64到0x220,0到0x220,然后8254输出20KHZ的低电平!

我在DOS程序中如下写:outputb(0x223,0x34);
                     outputb(0x220,0x64);
                     outputb(0x220,0);
在debug中如下写:    o 223 34
                     o 220 64
                     o 220 0
在windows应用程序中: _outp(0x223,0x34)
                      _outp(0x220,0x64)
                      _outp(0x220,0)
都可以正确初始化,输出10KHZ的低电平!


可是在用C语言写的VXD中,如下写:
                      _outp(0x223,0x34)
                      _outp(0x220,0x64)
                      _outp(0x220,0)

或是:Simulate_VM_IO(0x223,BYTE_OUTPUT,0X34)
      Simulate_VM_IO(0x220,BYTE_OUTPUT,0X64)
      Simulate_VM_IO(0x220,BYTE_OUTPUT,0)
都不能正确初始化8254!无论我输出什么数,都是100KHZ的信号!

 :(

请各位大侠指点一下!救救偶
wwt920
驱动牛犊
驱动牛犊
  • 注册日期2003-08-09
  • 最后登录2011-03-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-14 21:45
数据类型的声明有无问题.
wwwww
dama_01
驱动牛犊
驱动牛犊
  • 注册日期2002-10-10
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-15 08:36
我这里送的都是立即数,请问跟数据类型有关系吗?
dama_01
驱动牛犊
驱动牛犊
  • 注册日期2002-10-10
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-15 11:05
各位大虾!版主大人!
快帮帮偶啊 :(
游客

返回顶部