1

我有一台机器(仪器),可以从串行端口或打印机中的 8 个引脚分别读取十六进制数字。

我想将计算机上运行的 C 程序中的十六进制数据发送到这台机器上。计算机和机器通过打印机端口连接。

请让我知道如何分别从每个引脚发送我的数据。

提前致谢。

4

1 回答 1

0

首先,一些澄清:

串行通信是一种使用所有(大部分)引脚的协议。一些引脚用于同步两个通信芯片。但实际数据是通过一个数据 PIN 发送的,一次一位。

另一方面,并​​行通信是一种使用 8 个数据引脚一次同时通信一个字节的协议。打印机端口通常是并行端口。

取决于操作系统:

如何通过这些端口中的任何一个从程序发送数据取决于您的操作系统。

在 Linux 上比在 Windows 上更容易。

对于 Windows,这有点复杂,因为 Windows 在用户模式下(即通过用户程序)对端口访问进行了限制。

对于 Windows 上的并行端口:

但是,对于 Windows,我已使用io.dllGeek Hideout 上提供的此处成功驱动 LED 关闭并行端口。io.dll 包包含一个 .dll 和一个 .h 头文件,记录了您的 C 程序可以使用的函数。

对于 Linux 上的串行端口:

请参阅此答案和此Serial HOWTO 中的代码(适用于 Linux)

于 2013-01-23T08:19:57.683 回答