和原来的触摸屏驱动区别不是很大,增加了report函数来将事件发送到应用层。
驱动结构:
很简单的字符设备+平台设备驱动,总的结构来说,主要四个部分构成:
probe
remove
resume
suspend
工作机制则是注册设备,然后发生ts按下事件后产生ts中断以及adc中断,获得按下坐标。
没有读写函数,重点就是在两个中断处理函数上。
1,平台设备架构部分分析:
probe函数:
流程:ts基址的重映射->获得并启动时钟->ADCCON、ADCDLY、ADCTSC的初始化->初始化input设备完善ts结构体->建立ts_filter_chain->申请中断->注册input设备(2.6.27后为event0不再是ts0)。
static int __init s3c2410ts_probe(struct platform_device *pdev) |
remove:
就是probe的逆运算,
static int s3c2410ts_remove(struct platform_device *pdev) |
resume与suspend函数可有可无,完成触摸屏的激活和挂起,
2,中断处理分析:
三种模式转换过程:等待down中断模式->x,y连续坐标转换模式->等待up中断模式->等待down中断模式->..
两个中断的发生:触摸屏按下,发生ts中断,开始ad转换,ad转换结束,发生adc中断。
触摸屏抬起,发生ts中断。
ts中断处理函数:
//判断ts中断是up还是down
[1] [2]
关键字:S3C2440 触摸屏驱动 Android版
引用地址:S3C2440 触摸屏驱动(针对Android版)
声明:本文内容及配图由平台用户或入驻媒体撰写。文章观点仅代表作者本人,不代表EEWorld网站立场。文章及其配图仅供工程师学习之用,如有内容侵权或违规,请联系本站处理,邮箱地址:bbs_service@eeworld.com.cn
上一篇:S3C2440 UDA1341声卡驱动分析(oos)
0
推荐阅读最新更新时间:2024-06-23 13:22
s3c2410与s3c2440的全方位对比
1. 最高主频不相同:2410为200M,2440为400M。 我们在用这两款处理器时,一般使用的主频是不相同的,而这个不相同,不仅影响是的运行的速度,最主要的是会影响一些外设(如串口)的时钟,这些外设的时钟如果不正确,就会出现问题。 又比如内存总线设置,2410 和 2440 主频不一样,总线定时所要求的时钟数也会不一样。 ---------------------------------------------------------------------------- 2. MPLL和UPLL的计算公式不相同:2440的MPLL是2410的两倍;2440的MPLL计算与UPLL的计算不相同。 2
[单片机]
基于S3C2440处理器和WinCE的智能车载仪表设计
随着高性能电子显示技术的发展,汽车仪表电子化的程度越来越高。国内外已开发出了多功能全电子显示仪表、平视显示仪表、汽车导航系统、行车记录仪等高技术产品。未来,车用电子化嵌入式仪表具有以下优点:提供大量复杂的信息,使汽车的电子控制程度越来越高;满足小型、轻量化的要求,使有限的驾驶空间更人性化;高精度和高可靠性实现汽车仪表的电子化,降低了故障的发生率;设有在线故障诊断系统,一旦汽车发生故障,可以找到故障来源,方便维修;外形设计自由度高,汽车仪表盘造型美观。基于以上优点,汽车会越来越多地采用各种用途的电子化仪表。造型新颖、功能强大的嵌入式电子化仪表将是今后车用仪表的发展趋势和潮流。 1 智能车载仪表系统结构 本智能车载仪
[单片机]
S3C2440与NAND FLASH(K9F1208)的接线分析
一、SDRAM(HY57V561620F)连线分析 1、 S3C2440 有27根地址线ADDR ,8根片选信号ngcs0-ngcs7,对应bank0-bank7,当访问bankx 的地址空间,ngcsx引脚为低电平,选中外设。 2^27=128MByte, 8*128Mbyte = 1Gbyte,所以S3C2440 总的寻址空间是1Gbyte。但市面上很少有32位宽度的单片SDRAM,一般选择2片16位SDRAM 扩展得到32位SDRAM. 2、这里选择的SDARM是HY57V561620F,4Mbit * 4bank *16I/O,共32Mbyte。 首先了解下SDRAM 的寻址原理。 SDRAM 内部是一个存储阵列,
[单片机]
s3c2440 LCD及触摸屏的学习笔记(1)
所用的LCD为TopPoly-TD035STED4(TFT)型号,240*320的 其VCLK为6.39MHz。 根据s3c2440手册s3c2440处理LCD的时钟源是HCLK,通过寄存器LCDCON1中的CLKVAL可以调整VCLK频率大小,它的公式为:VCLK=HCLK÷ ,程序的内部分频为FCLK=400MHz、HCLK=100MHz、PCLK=50MHz(MPLLCON=(92 12)|(1 4)|1;),因此得到CLKVAL取整为6。 注:(LCD一般需要三个时序信号:VSYNC、HSYNC和VCLK。VSYNC是垂直同步信号,在每进行一个帧(即一个屏)的扫描之前,该信号就有效一次,由该信号可以确定LCD的场频,即
[单片机]
Samsung S3C2440平台上的Vxworks BSP移植
研究基于S3C2440平台上的Vxworks BSP移植具有重要的意义。本文就BSP的概念、BSP移植过程中重点修改的几个文件、串口和网口驱动以及BSP的调试和仿真做详细的介绍。 BSP概述 VxWorks操作系统将所有硬件的功能函数分别放到一系列库中,这些库就被称为板级支持包BSP。BSP是连接VxWorks操作系统与硬件平台的一个接口软件包,在引导系统、支持系统运行过程中扮演着重要的角色,首先,通过BSP可以生成引导操作系统的bootrom;其次,引导行工程的建立基础就是BSP;最后,BSP具有与用户交互的作用,可以提供一个基础的硬件调试环境。BSP还可以使VxWorks运行于特定的硬件平台,如ARM、PPC、
[单片机]
S3C2440裸机------Nor Flash编程_识别
1.编写菜单程序 首先我们编写一个测试菜单程序,用来获取norFlash信息以及对NorFlash进行读写操作,代码如下: void nor_flash_test(void) { char c; while (1) { /* 打印菜单, 供我们选择测试内容 */ printf( Scan nor flashnr ); printf( Erase nor flashnr ); printf( Write nor flashnr ); printf( Read nor flashnr ); printf( quitnr ); printf( Enter selection:
[单片机]
基于S3C2440的嵌入式Linux驱动——SPI子系统解读(三)
该系列文章将分为四个部分: 第一部分,将对SPI子系统整体进行描述,同时给出SPI的相关数据结构,最后描述SPI总线的注册。 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(一) 第二部分,该文将对SPI的主控制器(master)驱动进行描述。 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(二) 第三部分,即本篇文章,该文将对SPI设备驱动,也称protocol 驱动,进行讲解。 第四部分,通过SPI设备驱动留给用户层的API,我们将从上到下描述数据是如何通过SPI的protocol 驱动,由bitbang中转,最后由master驱动将数据传输出 去。 基于S3C
[单片机]
Android版谷歌地图增加离线浏览功能
北京时间7月8日凌晨消息,谷歌今天在Android版谷歌地图中(Google Maps For Android)加入了离线查看功能,用户可针对目标区域提前进行地图下载,然后以备离线观看。 要想激活这一功能,用户通过菜单按钮访问地图应用中的实验室选项后就可以发现新增的下载区域地图选项,通过点击更多选项就可以找到将周围区域地图进行本地存储的选项。 谷歌提供的周边区域地图下载的范围较大,覆盖10英里(约合16千米)半径的区域。 谷歌实现这一离线地图观看功能采用的是矢量系统来显示地图信息,而非老式图像系统,前者使用更少的数据,这就意味着该系统可以更加迅速的下载数据并进行本地存储,而且不会占据太多存储空间。 Andr
[手机便携]
更多
小广播
添点儿料... 无论热点新闻、行业分析、技术干货…… 发布文章
推荐内容
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐
最新单片机文章
更多精选电路图
换一换
更多
相关热搜器件
更多热门文章
更多每日新闻
更多往期活动
厂商技术中心
TI 技术论坛 TI 在线培训 Qorvo 射频技术研习社
随便看看
|