Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Linux设备驱动工程师之路——input子系统

Linux设备驱动工程师之路——input子系统

一、input子系统系统框架Linux内核实现了一套input子系统,很多输入设备,比如说按键、键盘、鼠标、触摸屏等等都可以利用input子系统提供的接口来编写驱动,这样可以帮驱动编写者减少大量工作量。因为input子系统会帮驱动完成open,read,close等一些列的设备方法。驱动编写者只需要在按键按下或者鼠标点击事件时想input子系统上层的event hander报告相应的事件信息就可以了。下图是input子系统的框架。最下层是输入设备的驱动层,...
Linux设备驱动工程师之路——触摸屏驱动s3c2410_ts.c分析

Linux设备驱动工程师之路——触摸屏驱动s3c2410_ts.c分析

一、触摸屏硬件知识1.模块原理图S3C2440有8路的ADC通道其中触摸屏控制器接口XP,XM,YP,YM与四路ADC通道复用四个IO引脚。从原理图看出8路ADC只有一个A/D转换器,通过一个8选1开关MUX来选通哪一路A/D通道进行转换。触摸屏控制会产生两个中断,一个触摸屏中断INT_ADC,一个ADC_转换完成中断INT_ADC。ADC需要时钟才能工作,因为它需要设置采样率。再复习一下ARM裸机实验时触摸屏寄存器操作流程流程: 初始化 1设置采样延时和...
Linux设备驱动工程师之路——网络设备驱动基本原理和框架

Linux设备驱动工程师之路——网络设备驱动基本原理和框架

1.Linux网络子系统Linux网络子系统的顶部是系统调用接口层。它为用户空间提供的应用程序提供了一种访问内核网络子系统的方法(socket)。位于其下面是一个协议无关层,它提供一种通用的方法来使用传输层协议。然后是具体协议的实现,在Linux中包括内核的协议TCP,UDP,当然还有IP。然后是设备无关层,它提供了协议与设备驱动通信的通用接口,最下面是设备的驱动程序。 设备无关接口将协议与各种网络驱动连接在一起,这一层提供一组通用函数供底层网络设备驱动...
Android开发音乐播放器

Android开发音乐播放器

音乐播放器中综合了以下内容:SeekBar、ListView、广播接收者(以代码的形式注册Receiver)、系统服务、MediaPlayer实现的功能:1.暂停/播放、下一首/上一首,点击某一首时播放2.支持拖动进度条快进3.列表排序4.来电话时,停止播放,挂断后继续播放5.可在后台播放效果图:界面:main.xml:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:Andro...
Android四大组件之广播接收者

Android四大组件之广播接收者

介绍如何创建广播、如何发送一个无序广播和有序广播、以及监听短信以及监听呼出电话(当我们发短信和打电话,系统就会发一个广播,我们可以拦截此广播进行监听短信以及监听呼出电话)。定义广播接收者1.定义类继承BroadcastReceiver,重写onReceive方法2.当接收到匹配广播之后就会执行onReceive方法3.清单文件中声明<receiver>,需要在其中配置<intent-filter>指定接收广播的动作和类型4.Broa...
jQuery表单校验jquery.validate.js的使用

jQuery表单校验jquery.validate.js的使用

jQuery是一个快速、简洁的js库,为网站的快速开发简化了HTML文档遍历,事件处理,动画,以及Ajax交互。使用jQuery将极大的提高编写javascript代码的效率, 让写出来的代码更加优雅, 更加健壮。jquery.validate.js是jquery旗下的一个验证框架,借助jquery的优势,我们可以迅速验证一些常见的输入,并且可以自己扩充自己的验证方法1.jquery包的引入: 引入jquery包:<script type="text...
mini2440驱动分析之LCD

mini2440驱动分析之LCD

mini2440集成了lcd控制器的接口,板子上接的lcd硬件是统宝240*320,TFT型lcd。lcd驱动对应的文件为s3c2410fb.c。要读懂这个驱动必须了解linux platform子系统的知识。因为这个驱动是以platform驱动的形式注册到内核。而且还需要frambuffer驱动的知识,因为这个驱动还是frambuffer接口的。lcd驱动在模块初始化的时候,调用platform注册函数将自己注册到内核,利用linux设备模型核心的机制调...
Android 实用工具Hierarchy Viewer实战

Android 实用工具Hierarchy Viewer实战

在Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率。其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地在开发者设计,调试和调整界面时,提高用户的开发效率。本文将以一个实际例子讲解如何使用该款工具运用在Android的开发过程中。本文的读者对象为具备初步Android知识的用户。 步骤1 设计界面 在我们的这个例子中,有三个不同的界面,以方便我们演示使用Hier...
Android的多任务之路

Android的多任务之路

Android真正独特的地方在于它允许多个任务同时运行。由于开发者们来自不同的平台,对这样的运行机制可能会感到惊讶。深入理解它的行为对你的应用程序设计是很重要的,因为这样可以无缝的(seamlessly)集成到android的其他版本/平台。本文涵盖了android多任务设计的原因,和它是怎样影响(impact on)你的应用程序工作的以及你要怎样才能最好的发挥出android的优势特色。设计要素移动设备有技术局限性,并且用户体验需求不同于桌面或web系统...
Android SQLite批量插入数据速度解决方案

Android SQLite批量插入数据速度解决方案

最近在做Android项目的时候遇到一个问题,应用程序初始化时需要批量的向sqlite中插入大量数,导致应用启动过慢。android使用的是sqlite数据库,sqlite是比较轻量级的数据库,在Google了之后发现,sqlite事务处理的问题,在sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。我的应用初始5000条记录也就是要5000次读写磁盘操作。解决方法:添加事务处理,把5000条插入作为一个事务dataBase...
Java像QQ把窗口放到屏幕边缘并隐藏

Java像QQ把窗口放到屏幕边缘并隐藏

其实可以这么来做:1.添加鼠标监听事件,判定鼠标是否在类似QQ窗口标题栏按下.记录当前鼠标位置和标题栏右侧距离X.2.在鼠标事件监听中判定前一条件成立下的鼠标释放时的标题栏左侧位置(记为newX).若newX>屏幕宽度,调用窗口重绘方法(自己定义:即把窗口绘制成一条竖线的样子,但是必须得有面积,并且保存此时窗口位置)将窗口添加到桌面边缘并隐藏主窗口.3.在2中添加一个监听线程,判定用户鼠标动作是否落在重绘窗口范围内,若true则调用主窗口显示,并且将...
<< 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 >>