找回密码
 注册
搜索
查看: 998|回复: 12

关于接听电话中LCD的问题

[复制链接]
发表于 2006-5-6 15:16:00 | 显示全部楼层 |阅读模式
不知道大家是否遇到过这样的手机,接听电话过程中LCD始终是开着的,我想问,这个问题在MTK这个平台上该怎么去解决?需要对那些函数做修改,要对那些参数进行条件判断。来关闭LCD屏幕。
发表于 2006-5-10 17:48:00 | 显示全部楼层
<P>不知道你用的是哪个平台?6217?6219?6226?</P><P>如果你能看到gpio.c这个文件,这个问题就搞定了,</P><P>在函数BacklightTimerHdlr中就是对LCD中对背光进行控制,如果你有源代码,很容易看到它的控制过程,改起来很容易。</P>[br]<p align=right><font color=red>+1 RD币</font></p>
点评回复

使用道具 举报

 楼主| 发表于 2006-5-10 18:43:00 | 显示全部楼层
<P>是6219的平台,我去试试,谢谢lin2xiang回贴,</P>
点评回复

使用道具 举报

 楼主| 发表于 2006-5-10 19:12:00 | 显示全部楼层
<P>在6219的平台 上没有BacklightTimerHdlr这个函数,GPIO.C这个文件在MTK这个平台起什么作用?</P>
点评回复

使用道具 举报

 楼主| 发表于 2006-5-11 09:51:00 | 显示全部楼层
<P>是GPIO.C没有这个函数呀</P>
点评回复

使用道具 举报

发表于 2006-5-11 10:57:00 | 显示全部楼层
gpio.c主要是mmi对背光控制,翻合盖控制,耳机、附件检测的控制函数,如果你的系统没有BacklightTimerHdlr()这个函数,可能版本比较老,你再查一下TurnOffBacklight()和TurnOnBacklight()这两个函数,BacklightTimerHdlr()主要是背光定时器中断处理函数![br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

 楼主| 发表于 2006-5-12 18:01:00 | 显示全部楼层
<P>这些函数都没有,我用的版有点旧。那还有没有别的方式才关闭LCD的backlight()的函数。</P>
点评回复

使用道具 举报

发表于 2006-5-13 08:56:00 | 显示全部楼层
这都没有就郁闷了,那你只有查查信令MSG_ID_MMI_EQ_EXE_GPIO_LEVEL_REQ,看在GPIO.c中是哪个函数发送此信令到l4,我看到的系统是函数SetGPIOLevelReq(),你的系统就需要你自己查了
点评回复

使用道具 举报

 楼主| 发表于 2006-5-17 13:39:00 | 显示全部楼层
void SetGPIOLevelReq(gpio_device_enum device, U8 level)
{
MYQUEUE Message;
   mmi_eq_exe_gpio_level_req_struct *setGPIOLevelReq;
   
Message.oslMsgId = MSG_ID_MMI_EQ_EXE_GPIO_LEVEL_REQ;
setGPIOLevelReq = OslConstructDataPtr(sizeof(mmi_eq_exe_gpio_level_req_struct));
setGPIOLevelReq-&gt;gpio_dev_type = device;
setGPIOLevelReq-&gt;gpio_dev_level = level;
   Message.oslDataPtr = (oslParaType *)setGPIOLevelReq;
   Message.oslPeerBuffPtr= NULL;
Message.oslSrcId=MOD_MMI;
Message.oslDestId=MOD_L4C;
OslMsgSendExtQueue(&amp;Message);

   return;
}
这个函数吗?怎么个改法呀?可是这个函数不是在GPIO.C里呀,
点评回复

使用道具 举报

发表于 2006-5-17 13:43:00 | 显示全部楼层
GeneralDeviceInterface.c,

static void BacklightTimerHdlr(void)函数,

    else // gBackLightTimerStatus == 2
    {
        if( lcd_backlight == 1)
        {            
            if(/*!backlight_check_call_present() &amp;&amp;*/ (g_phb_cntx.processing == FALSE)

就搞定了。
点评回复

使用道具 举报

发表于 2006-5-17 17:48:00 | 显示全部楼层
<P>GeneralDeviceInterface.c?</P><P>楼上的兄弟软件版本挺高的嘛,0544以后的版本吧,没看楼主说的找到的是gpio.c这个文件,MTK0544版以后才改为GeneralDeviceInterface.c。</P><P>不过改法到是对的,</P>
点评回复

使用道具 举报

 楼主| 发表于 2006-5-24 12:28:00 | 显示全部楼层
<P>if( lcd_backlight == 1)
  {
   if(!backlight_check_call_present() &amp;&amp; (g_phb_cntx.processing == FALSE) &amp;&amp; (mdi_audio_get_state() != MDI_AUDIO_RECORD) &amp;&amp; (mdi_audio_get_state() != MDI_AUDIO_RECORD_PAUSED))</P><P>还有这样的代码,按照您给我提示去掉“!backlight_check_call_present()”可是没有关闭LCD,可能出现的问题是什么呢?</P>
点评回复

使用道具 举报

 楼主| 发表于 2006-5-24 12:29:00 | 显示全部楼层
<P>我的是0540不是0544呀,</P>
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-26 10:44 , Processed in 0.048809 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表