有个需求,是需要单片机从PC并口接收数据,并且通过单片机转发出去。
主要原因是现在并口基本上没什么人用了。
笔记本好像是dell的电脑支持并口扩展坞。
台式机的话,可以买PCI-E的并口卡。
然后就是测试并口。
首先,在设备管理器里面查找并口:
然后在并口的属性里面,查找并口的IO资源:
各个电脑的IO资源范围好像是不一致的。没关系,找到自己的即可。
之前准备通过往并口发送数据,首先想到的是,找一个网上的并口小工具,(类似SSCOM这类的串口小工具)进行数据包的发送接收。
在网上找了一个并口小工具。但是发现这个并口基址只有三种选择范围,好像没有前文说的我们的IO地址范围。
至少,我这边没有掌握这个工具怎么用。不知道这个并口基址是不是跟我上文说的IO地址范围是同一个概念。
如果是同一个概念,就只能说,当时作者开发并口的时候,可能确实是台式机有并口,并且并口的IO是固定的,可能后期技术发展,有了PCI-E的并口出来,导致分配的IO范围不一致了。
以上仅仅是个人的猜测。
然后就写了个程序,朝并口发送数据。
然后用示波器查看对应的数据口的波形,发现是如预期的。如此OK.
单片机端在获取并口数据的时候,这里面采用了一个方法:
就是单片机实际没有真正的按照并口8080协议来,而是单片机端仅仅用了8个GPIO口外加一个GND与并口的公板进行连接。
网上有人说,GPIO口和并口连接的时候,需要使用同一组GPIO,比如GPIOA 的PA0~PA7
但是我们这边实际测试的时候,不需要同一组。
其实读取管脚的状态速度还是很快的:
其实真正的并口开发,最好还是要遵循并口协议来开发的,接口也是标准的,
只不过我们采用了另一种方式实现而已。
做个记录。