linux触摸屏驱动编写

  

早在诺基亚手机还比较流行的时候,那时候触摸屏用的还不多。但是随着触摸屏手机,即智能手机的流行,触摸屏基本成了手机的标配,所以,今天可以看看触摸屏驱动在linux上是如何进行的。

  

1,驱动目录

        司机/输入      

2,看看这个目录的Makefile如何设计

        obj - $ (CONFIG_INPUT) +=input-core.o   input-core-y:=输入。o input-compat。o input-mt。o ff-core.o      obj - $ (CONFIG_INPUT_TOUCHSCREEN) +=触摸屏/      

3,除了input-core.o这个文件外,只需要看屏目录就可以了

        配置TOUCHSCREEN_S3C2410   三态“三星S3C2410/通用触屏输入驱动程序”   取决于>   obj - $ (CONFIG_TOUCHSCREEN_S3C2410) +=s3c2410_ts。o      

5,继续阅读s3c2410_ts.c文件

        静态常量struct platform_device_id s3cts_driver_ids []={   {" s3c2410-ts ", 0},   {" s3c2440-ts ", 0},   {“s3c64xx-ts”, FEAT_PEN_IRQ},   {}   };   MODULE_DEVICE_TABLE(平台,s3cts_driver_ids);      静态结构platform_driver s3c_ts_driver={   .driver={   . name=" samsung-ts ",   # ifdef CONFIG_PM=,pm s3c_ts_pmops,   # endif   },   .id_table=s3cts_driver_ids,   .probe=s3c2410ts_probe,   .remove=s3c2410ts_remove,   };   module_platform_driver (s3c_ts_driver);   之前      

6,根据调查函数,看看有什么需要注意的内容

        ts.client=s3c_adc_register (pdev s3c24xx_ts_select,   s3c24xx_ts_conversion, 1);   如果(IS_ERR (ts.client)) {   dev_err (dev,“未能注册adc客户\ n”);   ret=PTR_ERR (ts.client);   goto err_iomap;   }      

7,接着,查看是否有中断函数被注册

        ret=request_irq (ts。irq_tc stylus_irq 0,   “s3c2410_ts_pen ts.input);      

8,最后

  

很明显,触摸屏驱动本质上还是由TOUCHSCREEN_S3C2410和S3C_ADC两个宏一起完成的。
  

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

linux触摸屏驱动编写