下载后可任意编辑油井压力数据采集系统的设计及其有用方法1下载后可任意编辑Linux 设备驱动程序实现的功能包括驱动程序的注册与注销、 设备的打开与释放、 设备的读写操作、 设备的控制操作等
当用户需要经过设备文件与硬件通信时, 必须经过调用 open、 read、 write、 close、 ioctl 等系统函数实现, 这些函数都由file_operations 结构体的函数指针成员给出入口地址, file_operations 结构体的每一个成员名都对应一个系统函数嗍
用户进程利用系统调用在对设备文件进行诸如 read、 write 操作时, 系统调用经过设备文件的主设备号找到相应的设备驱动程序, 然后读取该数据结构相应的函数指针, 接着把控制权交给该函数
因此, 编写设备驱动程序就是编写 file_operations 数据结构的各个函数指针对应的各个函数, 随着 Linux 设备驱动程序的复杂程度越来越高, file operations 结构体的成员数越来越多, 但并不是每种设备的驱动程序都需要利用 file_operations 中的全部功能, 大多数驱动程序只是利用其中一部分, 对于驱动程序中无需提供的功能, 只需将相应位的数值设为 NULL
本系统将 ADS8364 作为字符型设备设计驱动程序, 对于字符设备来说, file_operations 结构体中要提供的主要入口有: 打开设备文件 open()、 释放设备文件 release()、 读取 A/D 转换的数据 read()、 启动 A/D 转换和选取 A/D 转换的读数通道号write()、 A/D 转换参数快速设置 ioctl()
结合 ADS8364 与 S3c24lO 的接口电路, 设计驱动程序时, 采纳中断方式或者查询方式读取转换数据
采纳查询方式在驱动程序中需将通用输入输出引脚 GPF4