各位大虾:
目前正在搞WinCE下LCD驱动, 在一个现有模板的基础上,进行了简单的修改。
引脚配置 跟 LCD控制器部分的设置应该是没有什么问题的。也将屏幕的一些配置参数进行了修改,原来的是320*240,现在我用的是800*480.
但是调试过程中,串口显示我的LCD 的型号还是没有被改变,还是原来的320*240
后来发现,程序中负责修改屏幕参数的函数没有被执行。。
这是为什么呢?
可能是什么地方出了问题:
谢谢各位帮忙、
定义一个结构体
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;
}
引脚配置 跟 LCDC的配置有专门的函数进行,我直接修改了两个函数,
参数也是在头文件中进行修改的,很无奈..
那些不是wince的接口函数啊
查看GetModeInfo函数
这个问题很难说的,自己多检查代码,然后加些Message跟踪一下,看改设置的地方有没有运行到,编译有什么问题等
你用的什么硬件平台?
WinCE版本?
BSP版本?
这些都不说清楚,怎么回答,不是每个人都和你做一样的东西。
应该把版本和平台说出来啊?
不知道怎么帮你,在ARM平台下的话,就是那几个文件,修改一下就可以了。