• 电阻触摸屏驱动程序


    电阻触摸屏是一个单点触摸的设备,所谓单点触摸就是在同一时间内在屏幕里只能有一个触点。

    1、触摸屏驱动程序框架,这个驱动程序还不能用

     1 #include <linux/errno.h>
     2 #include <linux/kernel.h>
     3 #include <linux/module.h>
     4 #include <linux/slab.h>
     5 #include <linux/input.h>
     6 #include <linux/init.h>
     7 #include <linux/serio.h>
     8 #include <linux/delay.h>
     9 #include <linux/platform_device.h>
    10 #include <linux/clk.h>
    11 #include <asm/io.h>
    12 #include <asm/irq.h>
    13 
    14 #include <asm/plat-s3c24xx/ts.h>
    15 
    16 #include <asm/arch/regs-adc.h>
    17 #include <asm/arch/regs-gpio.h>
    18 
    19 static struct input_dev *s3c_ts_dev;
    20 static int s3c_ts_init(void)
    21 {
    22     /* 1. 分配一个input_dev结构体 */
    23     s3c_ts_dev = input_allocate_device();
    24 
    25     /* 2. 设置 */
    26     /* 2.1 能产生哪类事件 */
    27     set_bit(EV_KEY, s3c_ts_dev->evbit);
    28     set_bit(EV_ABS, s3c_ts_dev->evbit);
    29 
    30     /* 2.2 能产生这类事件里的哪些事件 */
    31     set_bit(BTN_TOUCH, s3c_ts_dev->keybit);
    32 
    33     input_set_abs_params(s3c_ts_dev, ABS_X, 0, 0x3FF, 0, 0);
    34     input_set_abs_params(s3c_ts_dev, ABS_Y, 0, 0x3FF, 0, 0);
    35     input_set_abs_params(s3c_ts_dev, ABS_PRESSURE, 0, 1, 0, 0);
    36 
    37 
    38     /* 3. 注册 */
    39     input_register_device(s3c_ts_dev);
    40 
    41     /* 4. 硬件相关的操作 */
    42     
    43     return 0;
    44 }
    45 
    46 static void s3c_ts_exit(void)
    47 {
    48 }
    49 
    50 module_init(s3c_ts_init);
    51 module_exit(s3c_ts_exit);
    52 
    53 
    54 MODULE_LICENSE("GPL");

    2、硬件相关部分的讲解

    触摸屏实际上就是巧妙的使用了欧姆定律

    触摸屏是什么东西呢?拿到JZ2440会看到一个屏幕,实际上它不仅仅有一个LCD,在LCD上面还覆盖着两层很薄的膜.

     

    触摸屏使用过程:

    1)按下触摸屏,产生中断

    2)在中断处理函数里面,启动ADC转换x  y坐标(注意这坐标是电压值)

    3)ADC结束,产生ADC中断

    4)在ADC中断处理程序里面,使用函数input_event上报事件,启动定时器

    5)定时器时间到,再次启动ADC(用于你按下后不松开,滑动的情况)

    6)松开

  • 相关阅读:
    ubuntu下内核源码树的建立
    删除ubuntu旧版本内核
    设置ubuntu12.04桌面版开机进入命令行模式
    MFC学习笔记(一)向模态对话框传递数据
    redis 映射数据结构粗略
    redis入门
    mybatis总结
    mybatis--mapper配置总结
    mybatis-初步使用
    maven-plugins说明
  • 原文地址:https://www.cnblogs.com/-glb/p/11267117.html
Copyright © 2020-2023  润新知