触控反馈的实现

触控反馈的实现

ID:38426266

大小:79.00 KB

页数:4页

时间:2019-06-12

触控反馈的实现_第1页
触控反馈的实现_第2页
触控反馈的实现_第3页
触控反馈的实现_第4页
资源描述:

《触控反馈的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、android触控反馈的实现芯片:RK28081框架结构Android触控反馈的实现与背光的实现方法相似,分为触控驱动、硬件抽象层、框架层及API接口,应用层系统调用。其结构如下图所示:    由于framework层对硬件驱动进行了封装,应用程序以API调用的方式对硬件进行控制,应用程序只需importandroid.os.Vibrator即可调用frameworkf封装的API函数实现触控反馈的功能。API函数如下:1public voidvibrate(longmilliseconds)2public voidvibrate(long[]pattern,intrepeat)3public

2、 voidcancel()函数1带有一个参数milliseconds,该参数控制触控触发的时间,但是是毫秒,一般设为1000;函数2带有2个参数,它能多次驱动马达,参数pattern以数组的方式传入每次触发时间,repeat为触发的次数,repeat=-1时,其功能与函数1相似,只驱动马达一次,当repeat不为-1时,应该满足pattern.length>repeat;函数3取消操作。应用程调用方式,在onClick事件触发时,在需要添加触控的相应的控件上添加:vibrate()函数即可。importandroid.os.Vibrator;privateVibratormVibrator;p

3、rivatesynchronizedvoidvibrate(){              if(mVibrator==null){           mVibrator=newVibrator();       }       mVibrator.vibrate(1000);   } Framework层主要是2个文件,向上提供API调用的vibrator.java文件,以及提供服务HardwareService.java文件。vibrator.java位于:frameworksbasecorejavaandroidos中HardwareService.java:framewor

4、ksbaseservicesjavacomandroidserver中vibrator.java文件通过Binder实现跨进程和跨语言的通信;ServiceMangager完成服务的注册和获取等操作,SweviceManger实际上是android的API接口,提供系统服务,在这里是完成HardwareService注册和提供该服务。HardwareService.java封装了触控反馈、背光等硬件操作,实现触控反馈的函数如下:publicvoidvibrate(longmilliseconds,IBindertoken)      publicvoidvibratePattern

5、(long[]pattern,intrepeat,IBindertoken)publicvoidcancelVibrate(IBindertoken)           本地框架主要包括两个文件:vibrator.c实现kenerl与用户态的通信;com_android_server_HardwareService对vibrator.c的函数进行封装,提供给HardwareService.java调用。com_android_server_HardwareService.cpp位于:frameworksbaseservicesjni中vibrator.c位于:hardwarelibh

6、ardware_legacyvibrator nativestaticvoidvibratorOn(longmilliseconds);nativestaticvoidvibratorOff();这两个函数位于com_android_server_HardwareService.cpp中,封装vibrator.c中vibrator_on(inttimeout_ms)和vibrator_off()函数,提供给HardwareService.java调用。     linux驱动层实现触控驱动,主要文件为timed_gpio.c。采用中断方式对IO进行拉高拉低操作,实现马达驱动。由于rk2808

7、中马达接在扩展I2C上,需要修改控制的IO口,背光sleep时会触发timed_gpio,在timed_gpio中过滤该事件。在linux中主要修改的文件有:board-rk28 :位于archarmmach-rockchip 添加timed_gpio设备rk28_devices:位于archarmmach-rockchip 添加timed_gpio设备timed_gpio :位于driv

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。