繁体   English   中英

与C#并行端口

[英]Parallel port with C#

我试图用C#程序将数据发送到LPT1端口,遗憾的是没有成功..我使用的是Windows 7 x64。 我试过x86和x64(inpoutx64.dll)dll的..

我发送时使用x64 dll:

Output(888, 255);

它只是继续程序,因为一切正常,但我在万用表上看不到任何东西(只有静态0.02V)..

我还尝试了以下C ++:

int main () {
int val = 0;
printf("Enter a value\n");
scanf("%d", &val);
_outp(0x378, val);
getchar();
_outp(0x378, 0);
return 0; }

但它引发了一个例外:

Unhandled exception at 0x01281428 in ppac.exe: 0xC0000096: Privileged instruction.

我记得有一次我在xp(C#而不是C ++代码)上做了类似的工作,我希望它也可以在win7上运行..请帮助我。

谢谢。

_outp使用的意义上的IO端口与您尝试使用并行端口的方式不同。 IO端口是获取对不同设备的原始访问的处理器级方式。 使用带有_outp的IO端口应该是设备驱动程序所做的事情。 因此,它在任何版本的Windows中具有特权(即仅内核), 其足够现代以具有良好的内核/用户空间分离(即基于Windows NT的任何东西)。 我几乎100%肯定你从来没有_outp在XP上工作。

要在高级代码中访问并行端口,只需使用文件名LPT1:打开它就像普通文件一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM