嵌入式linux下QT3/Embedded的输入设备驱动接口
	
    
    
	一、Qt3/Embedded的输入设备的驱动接口实现原理分析
       1、Qt3/Embedded把与底层硬件相关的源文件统一放在src/embedded目录下,所以我们最好也把自己的设备驱动接口文件放到此目录。
2、Qt/Embedded中的输入设备分为鼠标类与键盘类。在3.x版本系列中,鼠标设备的抽象基类为QWSMouseHandler,在src /embedded/qmouse_qws.h中定义,键盘设备的抽象基类为QWSKeyboardHandler,在src/embedded /qkbd_qws.h中定义。对于具体的输入设备我们则从这两个基类重新派生出它的实现类。
3、系统加载过程分析。Qt/Embedded在体系上为C/S结构,任何一个Qt/Embedded程序都可以作为系统中唯一的一个GUI Server存在。当应用程序首次以系统GUI Server的方式加载时,将建立QWSServer实体。在系统加载构造QWSServer时,将会调用QWSServer::openMouse与 QWSServer::openKeyboard函数 (建立QWSServer实体的源文件是src/kernel/qwindowsystem_qws.cpp)。这两个函数分别调用 QMouseDriverFactory::create()与QKbdDriverFactory::create()函数,它们分别是在 src/embedded/qmousedriverfactory_qws.h和src/embedded /qkbddriverfactory_qws.h中定义。这时会根据嵌入式Linux系统的环境变量QWS_MOUSE_PROTO与 QWS_KEYBOARD获得鼠标类设备和键盘类设备的设备类型和设备节点。打开相应设备并返回相应设备的基类句柄指针给系统,系统通过将该基类指令强制转换为对应的具体子类设备指针,获得对具体鼠标类设备和键盘类设备的调用操作。也就是说,我们只要把自己的设备类放在create()函数中即可。调用关系如下:
QWSServer::openMouse() à QMouseDriverFactory::create() à MyMouseHandler ← QWSMouseHandler
鼠标接口的加载过程
QWSServer::openKeyboard() à QKbdDriverFactory::create() à MyKeyboarddHandler ← QWSKeyboardHandler
键盘接口的加载过程
二、在QTE中实现自己的设备驱动接口
    经过上面的分析可以发现,要在QTE中实现自己的设备接口其实是很容易的事情。下面以键盘接口的实现为例,简单介绍一下具体的实现过程,鼠标接口也是差不多的。
在QTE中实现自己的键盘接口只需要三步:
1、从抽象基类QWSKeyboardHandler派生出具体类,如MyKbdHandler。为此我们在QTE的子目录src/embedded中新建两个文件mykbd_qws.h和mykbd_qws.cpp,内容如下:
(1) mykbd_qws.h的内容:
#ifndef MYKBD_
    
     
	
	
    
    
	相关文档:
        
    
        毕业设计用到一些接口测试代码,其中就有串口的测试,这其中基本借鉴了华清远见那本书里面的代码,读串口程序交叉编译到开发板中,写串口程序在PC端执行。代码很简单,因为串口在linux下也只是个文件,只需要打开这文件进行读写操作就好了。其中使用了2个函数,分别是配置端口和打开端口的函数,这2个函 ......
	
    
        
    
    现在用linux的朋友越来越多了,前几天就有两个朋友问我linux下怎么配置java环境,我想还有很多朋友想了解学习这方面的东西,就写一个完全一点的linux java环境配置吧,希望对大家有帮助。
一. 下载jdk5.0 for linux
  到sun的主页 http://java.sun.com/j2se/1.5.0/download.jsp 下载jdk安装文件jdk-1_5_0_05-linux-i586 ......
	
    
        
    
    Linux select()详解 select系统调用是用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变。 文件在句柄在Linux里很多,如果你man某个函数,在函数返回值部分说到成功后有一个文件句柄被创建的都是的,如man socket可以看到&ldqu ......
	
    
        
    
    在众多网络应用中,FTP(文件传输协议)有着非常重要的地位。Internet中一个十分重
要的资源就是软件资源,而各种各样的软件资源大多数都放在FTP服务器中。与大多数
Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户
机程序,连接到主机上的FTP服务器程序。用户通过客户机程序向服务器程 ......
	
    
        
    
    1. 装系统
我装的双系统,Windows 7 和 Fedora 12.
1)我的C盘有50GB,所以我先分了区,分成3个,1个30GB,1个15GB,剩下的一个区3GB。
2)先装Windows 7在30GB的分区。
     P:Sony的型号VGN-NR120E很变态,安装的时候必须要用最新补丁的安装盘才可以驱动到硬盘(导致不能装XP),可能是HDD ......