VB没有提供直接读写I/O口的方法。所以只能借助其他语言来编写DLL,然后在VB中调用。你也,可以在
这里下载编译好的DLL和例子。
如果你在Windows下使用过C/C++,那么编写这样的DLL可能没什么困难。在C语言里都包括inp和outp函数。你可以把下面这段C语言代码(32位)编译生成DLL,然后在VB中调用。
#include
#include
/*
作用:从指定端口读入一个字节
参数:portid 端口号
返回值:读入的字节
*/
int __stdcall Inport(short portid)
{
return inp(portid);
}
/*
作用:向指定端口写入一个字节
参数:portid 端口号
*/
void __stdcall Outport(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。 如果要在Windows NT下读写I/O口,参考
NTPort Library。
本文介绍了如何在Windows环境下,通过编写C语言DLL文件,实现在VB中访问I/O口的功能。提供了具体的代码示例,并指出了不同操作系统的适用范围。
515

被折叠的 条评论
为什么被折叠?



