我有一台机器(仪器)可以从串口或打印机的8个引脚分别读取十六进制数字。
我想将计算机上运行的C程序中的十六进制数据发送到此计算机。计算机和机器通过打印机端口连接。
请告诉我如何从每个引脚分别发送数据。
先谢谢。
答案 0 :(得分:0)
首先,澄清一下:
串行通信是一种使用所有(大多数)引脚的协议。一些引脚用于同步两个通信芯片。但实际数据是从一个数据密码发出的,一次一个BIT。
另一方面,并行通信是一种协议,它使用8个DATA PIN一次同时传送一个BYTE。打印机端口通常是并行端口。
取决于操作系统:
如何通过这些端口之一从程序发送数据取决于您的操作系统。
在Linux上比在Windows上更容易。
对于Windows,它有点复杂,因为Windows在用户模式下(即通过用户程序)限制端口访问。
对于Windows上的并行端口:
但是,对于Windows,我已经成功地从并行端口using the io.dll
provided here on Geek Hideout驱动了LED。 io.dll包中包含一个.dll和一个.h头文件,记录了C程序可以使用的函数。
对于Linux上的串行端口: