我有一台机器(仪器)可以分别从串口或打印机的8个针脚读取十六进制数。
我想从计算机上运行的 C 程序向这台机器发送十六进制数据。计算机和机器通过打印机端口连接。
请告诉我如何分别从每个 pin 发送数据。
提前致谢。
最佳答案
首先,澄清一下:
串行通信是一种使用所有(大部分)引脚的协议(protocol)。一些引脚用于同步两个通信芯片。但实际数据是通过一个数据 PIN 发送的,一次一位。
另一方面,并行通信是一种使用 8 个数据引脚一次同时通信一个字节的协议(protocol)。打印机端口通常是并行端口。
取决于操作系统:
您如何通过这些端口从程序发送数据取决于您的操作系统。
在 Linux 上比在 Windows 上更容易。
对于 Windows,它有点复杂,因为 Windows 在用户模式下(即用户程序)对端口访问进行了限制。
对于 Windows 上的并行端口:
然而,对于 Windows,我已经成功地驱动了并行端口的 LED using the io.dll
provided here on Geek Hideout . io.dll 包包含一个 .dll 和一个 .h 头文件,记录了您的 C 程序可以使用的函数。
对于 Linux 上的串口:
关于c - 如何使用 C 通过串行端口将十六进制数据发送到自定义仪器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14474844/