现在的位置: 首页 > 综合 > 正文

新手上路—–人机接口MMI:充电软件问题

2014年08月25日 ⁄ 综合 ⁄ 共 847字 ⁄ 字号 评论关闭

---------------------进入公司近两个月,第一次在CSDN上写博客

  MMI工程项目中遇到一个客服新需求,要求开发一个新功能!对于我这个刚踏入软件行业的菜鸟来说是一个挑战!需求:图片1

解决思路:

1.开机涉及到MMI键盘,一般来说都是按键开机,要想通过充电器上电开机,较为方便的解决办法就是在关机状态下

检测到插入充电器就将开机按键的值改为TURE,而在关机状态下更改按键值就涉及MMI键盘驱动初始化的函数

图片2

2.仔细阅读MMI键盘驱动初始化的函数,找到由哪个函数来控制开机的

图片3

3.先给开机函数使用强制传递TURE值,要是用此函数能实现上电(不管是电池上电还是充电器上电)都能开机则思路正确

图片4

上电开机成功,keyadInited是开机前键盘驱动初始化成功的标示,只要开机成功就要给键盘初始化标示已完成,这样避免程序

不断对键盘扫描,开机后对键盘扫描另有其函数!

4.查找到充电器检测函数,(注:我所在的这个平台因为要差异化开发定制很多版本,导致代码很凌乱而且很多,这让我这种刚进来的菜鸟很头痛,所以我在此次是根据在未开机状态下充电器接入很有充电器接入的突变显示,根据资源里面充电器图标的命名找到对应的ID。根据ID找到充电器图标显示的函数,因为要显示充电器必然先判断是否充电器接入,这样就找到判断充电器是否接入的底层函数,当然对整个平台代码很熟悉后不会这样的,直接会定位到要用的函数)找充电器检测函数有两个,一个是开机前的检测,一个是开机后的,开机前的是通过芯片内部线程更新机制反馈给上层来判断充电器是否接入的,开机后是通过检测供电部分的某一点电压来使能中断反馈给上层的,只有为什么要用两个函数来处分对待,原因正在摸索中.....

图片5

图片6

5.在键盘驱动初始化的函数中加入充电器上电开机代码

图片7

这样成功解决问题,可公司的代码在非模拟器条件下全编译是为什么不能分布式编译,这点很头疼,每次编译都要好长时间,再在机器上验证,来来回回很费时!第一次写技术类的东西,希望不要被骂惨了

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

抱歉!评论已关闭.