当前位置: 首页 > news >正文

怎么做网站 教学portfolio做网站

怎么做网站 教学,portfolio做网站,视频拍摄要求,wordpress 替换谷歌字体MISC驱动简介 misc的意思是混合、杂项的#xff0c;因此misc驱动也叫杂项驱动。当我们板子上的某些外设无法进行分类的时候就可以使用该项驱动。 所有杂项设备都共用一个主设备号#xff08;10#xff09;#xff0c;不同的子杂项设备使用不同的子设备号。 重要接口 定…MISC驱动简介 misc的意思是混合、杂项的因此misc驱动也叫杂项驱动。当我们板子上的某些外设无法进行分类的时候就可以使用该项驱动。 所有杂项设备都共用一个主设备号10不同的子杂项设备使用不同的子设备号。 重要接口 定义在include/linux/miscdevice.h中 struct miscdevice {int minor;const char *name;const struct file_operations *fops;struct list_head list;struct device *parent;struct device *this_device;const char *nodename;umode_t mode; };minor子设备号 因为主设备号已经固定所以我们只需要申请或者是注册一个子设备号。为什么说是注册呢因为Linux内核已经定义好了许多子设备号我们只要拿来使用即可。 #define PSMOUSE_MINOR 1 #define MS_BUSMOUSE_MINOR 2 /* unused */ #define ATIXL_BUSMOUSE_MINOR 3 /* unused */ /*#define AMIGAMOUSE_MINOR 4 FIXME OBSOLETE */ #define ATARIMOUSE_MINOR 5 /* unused */ #define SUN_MOUSE_MINOR 6 /* unused */ ...... #define MISC_DYNAMIC_MINOR 255在我们纠结要定义哪一个子设备号时我们可以直接使用MISC_DYNAMIC_MINOR这个宏来注册它会根据杂项驱动的使用状态来动态注册子设备号。 name设备名字 当misc设备驱动注册成功之后就会在/dev/下生成一个叫做name的文件节点。 fops文件操作合集 写过或者了解过字符设备驱动的朋友应该知道这个是什么。用户可以通过/dev/下的文件节点来进行open、close、read、write、ioctl等操作以此实现用户层和内核层的交互。 好的当我们设置好上面的参数后我们就可以调用接口向Linux内核注册这个miscdevice了。 需要用到的接口如下 int misc_register(struct miscdevice * misc) /*函数参数和返回值含义如下 misc要注册的 MISC 设备。 返回值负数失败0成功。*/int misc_deregister(struct miscdevice *misc) /*函数参数和返回值含义如下 misc要注销的 MISC 设备。 返回值负数失败0成功。*/示例 /** Silicon Integrated Co., Ltd haptic sih688x haptic driver file** Copyright (c) 2021 heater daokuan.zhusi-in.com** This program is free software; you can redistribute it and/or modify it* under the terms of the GNU General Public License version 2 as published by* the Free Software Foundation*/#include linux/init.h //包含宏定义的头文件 #include linux/module.h //包含初始化加载模块的头文件 #include linux/fs.h #include linux/kdev_t.h #include linux/miscdevice.h #include linux/device.h#define HAPTICS_MISC_DEV_NAME haptics//打开设备 static int haptics_open(struct inode* inode,struct file * filp) {printk(%s\n,__FUNCTION__);return 0; }//关闭设备 static int haptics_release(struct inode* inode ,struct file* filp) {printk(%s\n,__FUNCTION__);return 0; }//ioctl static long haptics_ioctl(struct file * filp, unsigned int cmd, unsigned long arg) {return 0; }static struct file_operations haptics_fops {.owner THIS_MODULE,.open haptics_open,.release haptics_release,.unlocked_ioctl haptics_ioctl, };struct miscdevice mdev {.minor MISC_DYNAMIC_MINOR,.name HAPTICS_MISC_DEV_NAME,.fops haptics_fops, };//定义一个杂项设备结构体static int __init haptics_init(void) {int ret 0;//内核层只能使用printk不能使用printfprintk(KERN_EMERG %s\n,__FUNCTION__); //输出等级为0ret misc_register(mdev);if(0 ret){printk(KERN_EMERG misc_register ok minor%d\n,mdev.minor);}return 0; }static void __exit haptics_exit(void) {misc_deregister(mdev);printk(KERN_EMERG %s\n,__FUNCTION__); //输出等级为0 }module_init(haptics_init);//驱动入口 module_exit(haptics_exit);//驱动出口MODULE_AUTHOR(daokuan.zhugsi-in.com);//声明作者信息 MODULE_DESCRIPTION(Haptics Driver V1.0.0); //对这个模块作一个简单的描述 MODULE_LICENSE(GPL v2);//声明开源许可证// GPL 是指明 这是GNU General Public License的任意版本// “GPL v2” 是指明 这仅声明为GPL的第二版本上述源码在设备节点操作接口时使用了ioctl这个东西怎么使用后续再介绍。
http://www.dnsts.com.cn/news/77494.html

相关文章:

  • 深圳做网站的公司排名赣州章贡区旅游景点
  • 比较好设计网站网站知识架构
  • 做网站买什么书有限责任公司优缺点
  • 网站开发 语言怎样自己动手做微官网站
  • php 自动做网站点击量网站开发网页制作教程
  • 服装手机商城网站建设网站建设思路梳理
  • 网站建设教程百度网盘百度自然排名网站的logo怎么做
  • 液压产品做哪个网站好wordpress小米商城模板
  • 亿唐微方网站建设wordpress 无法创建页面
  • 购物网站开发内容河南5G网站基站建设信息
  • 做彩票网站违法的吗成都好玩的地方
  • 可以自己做课程的网站百度应用商店app下载安装
  • 建设银行东营分行网站网络营销的手段有哪些
  • 企业建站业务还能做吗wordpress php5.3.5
  • 绍兴网站建设专业的公司4000-262-wordpress 分页按钮 显示文章数
  • html简单的网站php旅游类网站开发
  • 网站网址前的小图标怎么做ensp企业网络拓扑图
  • 好用的快速网站建设平台电商网站运营团队建设方案模板
  • 网站建设网站需要什么软件有哪些网站建设实验分析
  • 男女插孔做暖暖试看网站大全界面设计风格
  • iis发布网站的教程gta5买房子网站正在建设
  • 网站备案是指什么了解互联网 网站
  • 做视电影网站赚钱吗建设网站的技术方案
  • 购物网站开发实例网站建设公司 经营资质
  • h5网站和传统网站阿里云建设网站好吗
  • 建立网站有哪些步骤ui界面设计app
  • 企业网站在线留言慈云寺网站建设
  • 长沙网站建设流程河北人工智能建站系统软件
  • 网站 快照 更新慢采购软件管理系统
  • 四川交投建设工程股份有限公司网站海报生成器