阅读:1436回复:6
小弟初来乍到,问一个很菜的问题,在VC中,如何读写ISA卡的I/O口?哪有这样的例子?
在网上找到以下的回复,
1、是VC中嵌汇编。 ISA的地址空间很少,只有1k,地址只能自己挑选,可以找到常用的I/O地址 读写i/o的方法 mov dx, [i/o address] in al "读字节" or in ax “读双字节” out al “写字节” or out ax “写双字节” 这样可以向ISA口写数据吗?如果可以,ISA卡的I/O口地址是固定的吗? |
|
沙发#
发布于:2004-12-27 10:42
在论坛中找到一些贴子,
在win2000下有三种做法: 1、,现在的方法是用Driver Stdio生成一个ISA的框架,然后再深入里面的read和write函数 2、直接操作I/O口。 3、下载一些别人写好的sys或DLL 在知道ISA,I/O的前提下,哪种比较合适?哪里有例子代码下载? 谢谢 |
|
板凳#
发布于:2004-12-27 13:08
不会吧,慕名而来贵论坛,竟然连个回贴的都没有?
不会这样排斥新手吧? |
|
地板#
发布于:2004-12-27 18:34
我也是新手。。。
vc里如果要操作端口。 有个winio。。我没用过。。 我是用的DriverStudio。 有个KIOrange类。初始化好了。用起来很简单。 |
|
|
地下室#
发布于:2004-12-27 22:46
我也是新手。。。 请教FMMU_Mammoth一个很弱的问题。我对VC所知甚少,少得在用DriverStudio生成驱动之后,都不知道在什么地方声明KIOrange,KMemoryRange类,在什么地方定义一个类的对象,然后调用类中的函数。虽然有这些个概念,可具体操作还是不清楚。请不吝赐教,谢谢了! |
|
5楼#
发布于:2004-12-30 13:40
请指名你要用在那个平台上。在win9x下,可以直接用_inp,_inpw,_inpd,_outp,_outpw,_outpd 来读写1byte,word,dword.如果在winNT/2k/XP下,不能直接读写I/O port。如果需要进行读写,可以写一个driver,在driver中进行read/write,然后把数据传给你的app。或者运行那个winio的程序,然后就可以在app中直接用前面那几个函数进行读/写,就跟9x下一样了。
|
|
6楼#
发布于:2005-01-03 19:42
是的,我也用winio,启动程序时初始化一下,其他什么都不用动就可以直接在2000/xp下使用了
|
|