VB 版 (精华区)

发信人: zxfsnow (别怕我伤心), 信区: VB
标  题: VB编程如何控制I/O口
发信站: 哈工大紫丁香 (2000年05月31日13:02:18 星期三), 转信

发信人: byte (逮着谁算谁), 信区: Visual
标  题: (VB)应用程序编制实例十三
发信站: BBS 一网情深站 (Fri Dec 17 19:35:21 1999), 转信

十三、VB编程如何控制I/O口

VB没有提供直接读写I/O口的方法。所以只能借助其他语言来编写DLL,然后在VB中调用。
如果要在WINDOWS 3.X下读写端口,也可以下载ftp://ftp.winsite.com/pub/pc/win3/
/programr/vbasic/portz10.zip,它是一个免费的VBX,可以通过读写VBX的属性来实现
读写端口的操作,十分方便。
如果你在WINDOWS下使用过C/C++,那么编写这样的DLL可能没有什么困难。在C语言里都
包括inp和outp函数。可以把下面这段C语言代码(32位)编译生成DLL,然后在VB中调
用。
    #include <conio.h>
    #include <windows.h>
    /*作用:从指定端口读入一个字节
      参数:portid端口号
      返回值:读入的字节*/
    int _stdcall Inport(short portid)
    {
      return inp(portid);}
    /*作用:向指定端口写入一个字节
      参数:portid端口号*/
    void _stdcall output(short portid,short byte)
    {
      outp(portid,byte);}
    /*作用:从指定端口读入一个字节
      参数:portid端口号
      返回值:读入的字节*/
    int _stdcall Inportw(short portid)
    {
      return inpw(portid);}
    /*作用:向指定端口写入一个字节
      参数:portid端口号*/
    void _stdcall Outportw(short portid,short word)
    {
      outpw(portid,(unsigned short) word);}
    注意:这种方法只能用于WINDOWS 95,不能用于Windows NT。


--

  |\_____/|
  |[o] [o]|
  |   V   |   回去看好看的卡通频道罗 ~~~~~~~
  |       |
 -ooo---ooo-

※ 修改:.byte 于 Dec 17 19:36:25 修改本文.[FROM: 202.96.190.124]
--

 以科计为本,以产业报国!
  超越自我,飞跃无限!
  

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.235.249]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.903毫秒