• 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友,商务沟通v:ai_draw
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

基?于?I?2?C?的?F?T?5?3?0?6?触?摸?屏?驱?动?程?序?执?行?流?程

点滴 admin 10年前 (2014-04-26) 1661次浏览 已收录 0个评论 扫描二维码

1,module_init(ft5306_touch_init);
2,stF?T?5?3?0?6?aticint__initft5306_touch_init(void)
a)i2c_add_driver(ft5306_touch_driver);
3,stF?T?5?3?0?6?aticstructi2c_driverft5306_touch_driver(就是向系统注册一些程序,在系统规定的时
机执行)
a).probe=ft5306_touch_probe,注册检测程序和一些初始化信息,检测是否准备好程
序(开机时执行)
b).remove=ft5306_touch_remove,基本不执行,只在卸载
c).suspend=ft5306_touch_suspend(#ifndefCONFIG_HAS_EARLYSUSPEND)注册挂起
程序(休眠时执行)
d).resume=ft5306_touch_resume(#ifndefCONFIG_HAS_EARLYSUSPEND)注册唤醒程
序(唤醒时执行)
4,ft5306_touch_probe,检测是否准备好
a)ft5306_touch_phys_init,初始化
b)input_register_device(input_dev);,注册设备c)request_irq()。申请中断号,只是注册但不执行
d)INIT_WORK(touch_work.work,ft5306_touch_worker);完成结构初始化工作,为将工
作提交到工作队列做准备,即为顶半部准备好work_struct结构体。只是完成初始化,但不执行
e)register_early_suspend(ft5306_touch_early_suspend_desc);在这里注册唤醒及休眠
F?T?5?3?0?6?管理函数(#ifdefF?T?5?3?0?6?CONFIG_HAS_EARLYSUSPEND)f)ft5306_virtual_keys_init(),虚拟按键初始化程序,这就是虚拟按键程序的入口5,如果不做任何操作,则进入休眠状态。
a)ft5306_touch_early_suspend()
i.ft5306_touch_suspend(touch-client,state);6,如果唤醒,则进入唤醒初始化程序
a)ft5306_touch_late_resume()唤醒
i.ft5306_touch_resume()唤醒
1.ft5306_touch_phys_init(data);初始化
7,如果还不做任何操作,则循环第4步
(唤醒和休眠的入口,在ft5306_touch_probe函数中
#ifdefF?T?5?3?0?6?CONFIG_HAS_EARLYSUSPEND
register_early_suspend(ft5306_touch_early_suspend_desc);#endif
由ft5306_touch_early_suspend_desc进入唤醒以及初始化,ft5306_touch_probe函数中也调用初始化函数。)
8,如果触摸屏幕,则产生中断,进入中断顶半部ft5306_touch_irq_handler(),把工作
交到工作队列,等在安全的时候再执行底半部
9,执行底半部,ft5306_touch_worker(structwork_struct*work)
a)ft5306_touch_read_points(points);获取F?T?5?3?0?6?触摸屏信息数据
b)ft5306_touch_finger_report(data,id,x,y,z);向应用层上报信息10,module_exit(ft5306_touch_exit);退出时调用

11,ft5306_touch_exit
a)i2c_del_driver(ft5306_touch_driver);调用.remove=ft5306_touch_removeb)ft5306_touch_remove()
i.

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址