一 用户空间操作并口
linux的x86平台下在用户空间操作并口有两种方式,要么写成驱动,用户应用程序通过IO设备模块实现对并口读写,还有就是直接在用户空间I/O内存地址
PC25针并口. 接口定义如下:
针 |
方向 |
2,3,4,5,6,7,8,9 |
双向 |
1,14,16,17 |
输出 |
10,11,12,13,15 |
输入 |
18,19,20,21,22,23,24,25 |
地 |
并口编程基础
这些引脚,其实就是I/O口。而且是可以控制的,以软件的方式,非常简单。
在计算机内部,对应的寄存器如下:
0x378是8bit数据寄存器的地址,对应并口针的顺序是9,8,7,6,5,4,3,2
0x379是状态寄存器,11,10,12,13,15 - - -
0x37A是控制寄存器,- - - 并口中断允许位,17,16,14,1
也就是说PC的0x378可以用来做输入和输出,0x37A的低4位可以用来输出,0x379是输入。这样就可以用并口模拟很多时许,比如IIC、JTAG、SPI等等。
例子:用户空间直接I/O 0x378地址的方法如下
- #include <stdio.h>
- #include <sys/io.h>