嵌入式Linux设备驱动.pptVIP

  • 3
  • 0
  • 约7.63千字
  • 约 42页
  • 2017-11-17 发布于河南
  • 举报
嵌入式Linux设备驱动

1.5.4 设备的控制操作(ioctl ) 什么是ioctl? ioctl:是设备驱动程序中对设备的I/O通道进行管理 的函数。 对I/O通道进行管理:就是对设备的一些特性进行控制, 例如串口的传输波特率、马达的转速等等。 它的调用函数(用户空间)如下: int ioctl(int fd, ind cmd, …) 其中: fd就是用户程序打开设备时使用open函数返回 的文件标示符; cmd就是用户程序对设备的控制命令; 后面的省略号,是一些补充参数,一般最多一个, 有或没有是和cmd的意义相关的; ioctl 方法 驱动程序中定义:ioctl 方法原型为: int (*ioctl) (struct inode *inode, struct file *file,unsigned int cmd, unsigned long arg) inode 和 filp 两个指针对应应用程序传递的文件描述符fd; cmd 不会被修改地传递给驱动程序; 可选的参数arg 则无论用户应用程序使用的是指针还是其他类型值,都以unsignedlong 的形式传递给驱动。 ioctl 方法的命令编号确定 由于为了防止向不该控制的设备发出正确的命令

文档评论(0)

1亿VIP精品文档

相关文档