毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

ARM+GPRS智能家居控制入侵检测与报警 第6页

更新时间:2012-2-20:  来源:毕业论文
驱动程序的结构如图5 所示,应用程序经过系统调用,进入核心层,内核要控制硬件需要通过驱动程序实现,驱动程序相当于内核与硬件之间的“系统调用”。
4.2.2 内核模块
内核模块是Linux 内核的重要组成要素,内核模块能在Linux 系统启动之后能够动态进行装载和卸载, 因此不需对内核进行重新编译或重启系统就可将内核的一部分替换掉,Linux 内核的所有设备驱动,文件系统,网络协议等可做成模块的形式来提供。
另外一个应用程序从头到尾只执行一个任务,但一个模块可以把响应未来请求的事务登记到内核中,然后等待系统调用,内核模块程序结构如图6 所示。图6 内核模块程序结构
需要利用mknod 命令生成设备文件系统的节点,前提是root的权限。mknod 命令必须要有设备名和设备类型,主设备号(Major Number),次设备号(Minor Number)等3 个参数。主设备号用于内核区分设备驱动,次设备号用于设备驱动区分设备。一个设备驱动可能控制多个设备。新的设备驱动要有新的主设备号。在内核源代码的Documentation /devices.txt 中定义了所有设备的主设备号。在创建设备的时候不要与常用的设备好冲突。论文网http://www.youerw.com/  
下面/dev/xsb_kpd 是设备名,c 表示字符设备。62是主设备号,1 是次设备号。次设备号可以是0 –255 之间的值,限制为8bit。
[root@localhost]$ mknod  /dev/xsb_kpd c 62 1
4.2.3 驱动程序基本框架
如果采用模块方式编写设备驱动程序时,通常至少要实现设备初始化模块、设备打开模块、数据读写与控制模块、中断处理模块(有的驱动程序没有)、设备释放模块和、设备卸载模块等几个部分。键盘驱动的关键代码如下:
/* 设备文件操作接口*/
static struct file_operations Emdoor_fops = {
read: Emdoor_kbd_read, /* 读设备操作*/
fasync: Emdoor_kbd_fasync, /* 控制设备操作*/
poll: Emdoor_kbd_poll, /* 写设备操作*/
open: Emdoor_kbd_open, /* 打开设备操作*/
release: Emdoor_kbd_release /* 释放设备操作*/
/* ... */
};
static int __init Emdoor_kbd_init_module (void)
{/* 加载驱动程序模块入口*/
/* 打开设备模块*/
int Emdoor_kbd_open(struct inode *inode, struct file *filp);
{/*… … … … */}
/* 读设备模块*/本文来自优.文~论-文.网原文请找腾讯3249'114
ssize_t Emdoor_kbd_read(struct file *filp, char *buffer, size_t count, loff_t *ppos);
{/*… … … … */}
/* 写设备模块*/
unsigned int Emdoor_kbd_poll(struct file *filp,struct poll_table_struct* wait);
{/*… … … … */}
/* 控制设备模块*/
int Emdoor_kbd_fasync(int fd, struct file * file, int mode);
{/*… … … … */}
/* 中断处理模块*/
void Emdoor_isr_kbd(int irq, void *dev_id, struct pt_regs *reg);
{/* ... */}
}
static void __exit Emdoor_kbd_exit (void)
{/* 卸载驱动程序模块入口*/
unregister__chrdev(62,DEVICE_NAME);
}
4.3 调用QT程序的实现代码
为了达到按下按键执行相关程序的功能,引用到了亿道公司提供的键盘测试实验。在此基础上利用handle()函数,再加入一个system()函数来调用执行已编译好的QT程序。handle()函数的类型为void,执行的结果是按下对应的按键检测到一个扫描码。所以当按下特定按键时,即得到一个特定的扫描码时,就执行QT程序。下面是该子模块的主要代码:

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

ARM+GPRS智能家居控制入侵检测与报警 第6页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。