PXA270BSP backlight驱动问题

zserfv8210   2010-4-21 17:50 楼主
重新看一遍backlight背光驱动
发现几个问题请教各位:
1、pBKLinfo->hCoreDll = LoadLibrary(TEXT("coredll.dll"));   
    if (NULL != pBKLinfo->hCoreDll)
        {
             pBKLinfo->pfnGetSystemPowerStatusEx2 = (PFN_GetSystemPowerStatusEx2)
              GetProcAddress(pBKLinfo->hCoreDll, TEXT("GetSystemPowerStatusEx2"));
          }
    这里重新load了coredll.dll是为了调用GetSystemPowerStatusEx2这个函数,但是在sources文件中
    已经加载了coredll.dll
    为什么还需要动态load??

2、在BKL_MDD_INFO结构体中有:
    BOOL  fBatteryTapOn;      // reg setting - do we turn on when screen/button tapped?
    BOOL  fExternalTapOn;      // reg setting - do we turn on when screen/button tapped?
这两个变量的作用是什么??是否跟触摸TOUCH唤醒背光有关??
3、在UpdateBacklight(BKL_MDD_INFO *pBKLinfo, DWORD dwReason)函数中
        // 'Tap On' settings just unchecked or 'Turn off backlight' timer option just selected:
    fSetPowerOff = ( ((dwTimeoutPrev != TURNOFFIMMEDIATELY) && (dwTimeoutNew == TURNOFFIMMEDIATELY)) \
                    || ((fTapOnPrev && !fTapOnNew)));
       // 'Tap On' setting just checked or 'Turn off backlight' timer option just deselected:   fReleasePwrOff = (((dwTimeoutPrev == TURNOFFIMMEDIATELY) && (dwTimeoutNew != TURNOFFIMMEDIATELY) ) \
                    || (!fTapOnPrev && fTapOnNew));
   
    if(fSetPowerOff)   
    {
        BKL_SetDevicePower(pBKLinfo, D4);
    }
    else if (fReleasePwrOff)
    {
        BKL_SetDevicePower(pBKLinfo, PwrDeviceUnspecified);
    }
这是在做什么???
4、一直不知道这个背光驱动中当背光被设置到D4状态时,是怎么响应点击触摸屏或按键或USB、SDCARD插入事件的

回复评论 (8)

第四个问题,当系统处于休眠状态时,当有可唤醒的中断触发时就可以响应了。
所以会把触摸、SDCARD等中断配置成可唤醒模式。
点赞  2010-4-21 19:02
顶一下
点赞  2010-4-22 09:40
学习,lz研究地真仔细。
点赞  2010-4-22 11:17
MARK,关注!
点赞  2010-4-22 13:06
w4
顶啊顶啊
ke



CX
顶起来!
点赞  2010-4-22 13:35
1、pBKLinfo->hCoreDll = LoadLibrary(TEXT("coredll.dll"));   
  if (NULL != pBKLinfo->hCoreDll)  
{
pBKLinfo->pfnGetSystemPowerStatusEx2 = (PFN_GetSystemPowerStatusEx2)
  GetProcAddress(pBKLinfo->hCoreDll, TEXT("GetSystemPowerStatusEx2"));
  }
  这里重新load了coredll.dll是为了调用GetSystemPowerStatusEx2这个函数,但是在sources文件中
  已经加载了coredll.dll
  为什么还需要动态load??

要取得coredll.dll的句柄就要执行LOADLIBRARY.要不怎么应用GetProcAddress函数呢?
点赞  2010-4-22 19:56
4、一直不知道这个背光驱动中当背光被设置到D4状态时,是怎么响应点击触摸屏或按键或USB、SDCARD插入事件的.
背光在D4状态,并不影响其他部分的响应.其它部分通过事件又可以打开背光.
点赞  2010-4-22 20:00
3、在UpdateBacklight(BKL_MDD_INFO *pBKLinfo, DWORD dwReason)函数中
fSetPowerOff = ( ((dwTimeoutPrev != TURNOFFIMMEDIATELY) && (dwTimeoutNew == TURNOFFIMMEDIATELY)) \
  || ((fTapOnPrev && !fTapOnNew)));
这是关闭背光的条件.
下面的应该是打开背光的条件.
点赞  2010-4-22 20:02
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复