linux下并口相关(x86)

本文详细介绍了在Linux环境下对并口的操作,包括用户空间直接通过I/O地址进行读写,以及通过/Linux Parport programming接口进行访问。同时阐述了如何编写parport设备驱动,包括找寻并口、注册设备、申请和释放端口等关键步骤。
摘要由CSDN通过智能技术生成

一 用户空间操作并口

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地址的方法如下

[cpp]  view plain copy
  1.  #include <stdio.h>  
  2. #include <sys/io.h>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值