12.按键驱动程序设计(1)-混杂设备驱动模型
来源:互联网 发布:excel恢复之前数据 编辑:程序博客网 时间:2024/05/21 10:58
1 混杂设备描述
在Linux系统中,存在一类字符设备,它们拥有相同的主设备(10),但次设备号 不同,我们称这类设备为混杂设备(miscdevice) 。所有的混杂设备形成一个链表 ,对设备访问时内核根据次设备号查找到相应的混杂设备
Linux中 中 使用struct miscdevice来 来 描 述 一 个混杂设备
struct miscdevice {
int minor;/* 次设备号*/
const char *name;/* 设备名*/
const struct file_operations *fops;/* 文 件 操作*/
struct device *parent;
struct device *this_device;
const char *nodename;
umode_t mode;
};
2 混杂驱动注册
Linux中 中 使用misc_register 函数 来注 册一 个混杂设备驱动。int misc_register(struct miscdevice * misc)
3 范例驱动分析
#include <linux/module.h>
#include <linux/init.h>
#include <linux/miscdevice.h>
int key_open(struct inode *node,sturct file *filp)
{
return 0 ;
}
struct file_operations key_fops = {
.open = key_open;
};
struct miscdevice key_miscdev =
{
.minor = 200;
.name = "key";
.fops = &key_fops;
};
static int key_init()
{
misc_register(&key_miscdev);
}
static int key_exit()
{
misc_deregister(&key_miscdev);
}
module_init(key_init);
module_exit(key_exit);
#include <linux/init.h>
#include <linux/miscdevice.h>
int key_open(struct inode *node,sturct file *filp)
{
return 0 ;
}
struct file_operations key_fops = {
.open = key_open;
};
struct miscdevice key_miscdev =
{
.minor = 200;
.name = "key";
.fops = &key_fops;
};
static int key_init()
{
misc_register(&key_miscdev);
}
static int key_exit()
{
misc_deregister(&key_miscdev);
}
module_init(key_init);
module_exit(key_exit);
0 0
- 12.按键驱动程序设计(1)-混杂设备驱动模型
- Linux按键驱动程序设计(1)-混杂设备驱动模型
- 按键驱动程序设计---混杂设备、中断分层处理、工作队列、阻塞型驱动
- 混杂设备驱动模型设计LED驱动
- 按键驱动程序(混杂字符设备)
- 混杂设备驱动模型
- s3c2440按键驱动 -- 混杂设备
- Linux混杂设备驱动 - 按键设备驱动
- 【Linux设备驱动】TQ2440按键驱动程序设计
- Linux混杂设备驱动模型
- 混杂设备驱动模型解析
- OK6410中断按键 混杂设备驱动
- 嵌入式学习-驱动开发-lesson4-按键混杂设备驱动
- 混杂设备驱动框架1
- miscdevice混杂设备驱动 1
- 12.按键驱动程序设计(3)-按键驱动硬件操作实现
- 12.按键驱动程序设计(6)-驱动支持多按键优化
- 混杂设备驱动程序
- 基于Flexlive.CQP.Framework的C# 酷Q UDP实现
- "好的产品应该是用完即走"——您若认真,您就输了
- MySQL5.79 服务无法启动。服务没有报告任何错误 解决方案
- 11.LED驱动程序设计(2)-LED驱动程序设计
- 【leetcode】7. Reverse Integer
- 12.按键驱动程序设计(1)-混杂设备驱动模型
- JavaScript DOM编程艺术一个网页图片切换
- 12.按键驱动程序设计(2)-Linux中断处理
- 12.按键驱动程序设计(3)-按键驱动硬件操作实现
- 12.按键驱动程序设计(4)-中断分层
- 12.按键驱动程序设计(5)-按键定时器去抖
- 12.按键驱动程序设计(6)-驱动支持多按键优化
- 12.按键驱动程序设计(7)-阻塞型驱动设计
- Design Twitter