阅读:915回复:3
关于VXD下写IO口的问题――各位大老救命!
我用的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的信号! :( 请各位大侠指点一下!救救偶 |
|
沙发#
发布于:2003-08-14 21:45
数据类型的声明有无问题.
|
|
|
板凳#
发布于:2003-08-15 08:36
我这里送的都是立即数,请问跟数据类型有关系吗?
|
|
地板#
发布于:2003-08-15 11:05
各位大虾!版主大人!
快帮帮偶啊 :( |
|