WinCE LCD驱动配置问题

vongy   2008-12-4 16:56 楼主
各位大虾:
    目前正在搞WinCE下LCD驱动, 在一个现有模板的基础上,进行了简单的修改。
    引脚配置 跟 LCD控制器部分的设置应该是没有什么问题的。也将屏幕的一些配置参数进行了修改,原来的是320*240,现在我用的是800*480.
   但是调试过程中,串口显示我的LCD 的型号还是没有被改变,还是原来的320*240
   后来发现,程序中负责修改屏幕参数的函数没有被执行。。
   这是为什么呢?

   可能是什么地方出了问题:
   谢谢各位帮忙、
   

回复评论 (7)

你是在哪个函数里改的?
点赞  2008-12-4 17:19
定义一个结构体
active_panel_t lcdpanel_lw500ac9601 =
{
    set_power_mode,
    init,
    post_init,

    // configuration
    {
        800,  // width
        480,  // height
         16,  // bpp
        /* timing */
        {
            0x86,   /* BLW */
            0x4,   /* ELW */
            0x4,    /* HSW */
            0x2,    /* BFW */
            0x3,    /* EFW */
            0x2,    /* VSW */
            /* PCD */
            {
                0x5,            /* 104M */
                0x7,            /* 156M */
                0x6,            /* 208M */
                0x1,            /* 39M */
                0x3                     /* D0CS */
            }
        },
        {
            0,      /* OEP */
            0,      /* PCP */
            1,      /* HSP */
            1       /* VSP */
        }
    }
};

选择这个结构体函数,其中LCDPANEL_LW500AC9601是定义好的环境变量 = 1
BOOL LCDPanelSelect(void** panel)
{
#if defined(LCDPANEL_VGA)
    *panel = (void*)&vga_ls037;
#elif defined(LCDPANEL_QVGA)
    *panel = (void*)&qvga_ls037;
#elif defined(LCDPANEL_INNOLUX)
    *panel = (void*)&lcdpanel_innolux;
#elif defined(LCDPANEL_LW500AC9601)
    *panel = (void*)&lcdpanel_lw500ac9601;
#else
#error "Lcd panel not defined!"
#endif

    return TRUE;
}
点赞  2008-12-4 17:25
引脚配置 跟 LCDC的配置有专门的函数进行,我直接修改了两个函数,
参数也是在头文件中进行修改的,很无奈..
点赞  2008-12-4 17:26
那些不是wince的接口函数啊
查看GetModeInfo函数
点赞  2008-12-4 17:39
这个问题很难说的,自己多检查代码,然后加些Message跟踪一下,看改设置的地方有没有运行到,编译有什么问题等
点赞  2008-12-4 22:12
你用的什么硬件平台?

WinCE版本?

BSP版本?

这些都不说清楚,怎么回答,不是每个人都和你做一样的东西。
点赞  2008-12-5 09:44
应该把版本和平台说出来啊?
不知道怎么帮你,在ARM平台下的话,就是那几个文件,修改一下就可以了。
点赞  2008-12-5 10:40
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复