有个需求,是需要单片机从PC并口接收数据,并且通过单片机转发出去。

主要原因是现在并口基本上没什么人用了。

笔记本好像是dell的电脑支持并口扩展坞。

台式机的话,可以买PCI-E的并口卡。

然后就是测试并口。

首先,在设备管理器里面查找并口:

如何在bios中开启并口 bios打开并口_stm32

然后在并口的属性里面,查找并口的IO资源:

如何在bios中开启并口 bios打开并口_设备管理_02

各个电脑的IO资源范围好像是不一致的。没关系,找到自己的即可。

之前准备通过往并口发送数据,首先想到的是,找一个网上的并口小工具,(类似SSCOM这类的串口小工具)进行数据包的发送接收。

在网上找了一个并口小工具。但是发现这个并口基址只有三种选择范围,好像没有前文说的我们的IO地址范围。

至少,我这边没有掌握这个工具怎么用。不知道这个并口基址是不是跟我上文说的IO地址范围是同一个概念。

如果是同一个概念,就只能说,当时作者开发并口的时候,可能确实是台式机有并口,并且并口的IO是固定的,可能后期技术发展,有了PCI-E的并口出来,导致分配的IO范围不一致了。

以上仅仅是个人的猜测。

如何在bios中开启并口 bios打开并口_嵌入式硬件_03

然后就写了个程序,朝并口发送数据。

然后用示波器查看对应的数据口的波形,发现是如预期的。如此OK.

单片机端在获取并口数据的时候,这里面采用了一个方法:

就是单片机实际没有真正的按照并口8080协议来,而是单片机端仅仅用了8个GPIO口外加一个GND与并口的公板进行连接。

网上有人说,GPIO口和并口连接的时候,需要使用同一组GPIO,比如GPIOA 的PA0~PA7

但是我们这边实际测试的时候,不需要同一组。

其实读取管脚的状态速度还是很快的:

如何在bios中开启并口 bios打开并口_如何在bios中开启并口_04

其实真正的并口开发,最好还是要遵循并口协议来开发的,接口也是标准的,

只不过我们采用了另一种方式实现而已。

做个记录。