首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从C++设置和读取并行口上的引脚?

如何从C++设置和读取并行口上的引脚?
EN

Stack Overflow用户
提问于 2011-02-13 18:11:31
回答 2查看 13.6K关注 0票数 4

我正在帮助一个朋友完成一个最后一年的项目,在这个项目中,他有一个电路,我们希望使用一个C++程序开关。

一开始我以为这很容易,但我没能实现这个计划。主要的问题是

  • Windows和更高版本不允许直接访问硬件,因此一些网站建议我需要编写驱动程序或找到驱动程序。
  • 我也在网上看过一些项目,但它们似乎适用于Windows,但对Windows 7却不起作用。
  • 另外,大多数项目都是用VB或C#编写的,我对此并不熟悉。

问题:

  • 是否有适用于Windows和Windows 7的合适驱动程序,如果有,我如何在代码中使用它?(代码片段将不胜感激)
  • 是否有跨平台的方式来处理与并口的通信?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-13 19:26:02

看看代码项目:这里这里这里。你会找到宝藏的。

第一个链接适用于Windows 7- 32位和64位。

票数 3
EN

Stack Overflow用户

发布于 2011-02-13 18:44:58

您不应该需要编写驱动程序或任何东西--只需使用像"LPT1"这样的文件名调用"LPT1"来打开并行口的句柄,然后就可以使用WriteFile向其写入数据。例如:

代码语言:javascript
运行
复制
HANDLE parallelPort = CreateFile("LPT1", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if(parallelPort == INVALID_HANDLE_VALUE)
{
    // handle error
}
...
// Write the string "foobar" (and its null terminator) to the parallel port.
// Error checking omitted for expository purposes.
const char *data = "foobar";
WriteFile(parallelPort, data, strlen(data)+1, NULL, NULL);
...
CloseHandle(parallelPort);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4985909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档