//=====================================================================
//TITLE:
// 详解TCC89x的LCD数值设置
//AUTHOR:
// norains
//DATE:
// Tuesday 7-December-2010
//Environment:
// Visual Studio 2005
// Windows CE 6.0
// Telechips Magellan 1.9.1
//=====================================================================
假如咱们运用TCC89x作为产品研制的话,我估量没有几个人会直接选用EVB上的LCD类型——价格太高,又面对停产。所以,替换相应的LCD屏,是大势所趋。不过,不同的屏有不同标准,怎么才能让屏正常作业呢?
要想正常调试LCD,咱们先来了解Telechips Magellan BSP里是怎么对LCD进行设置的。假如各位朋友细心查看过Magellan的代码,会发现Driver里是没有对LCD进行设置的代码;对LCD的设置代码,悉数坐落BOOT文件夹中。更确切点,是坐落BOOT文件夹下的LCD.cpp文件。这也不难理解,由于无论是处于Bootloader阶段,仍是进入WinCE之后,都有必要要进行显现,而这两个阶段的显现关于LCD的设置都是相同的,所以就没有必要在WinCE中再次对LCD进行设置。
关于不同LCD类型的设置,一切都在于LCD.h文件中的lcd_cfg数组,其界说如下:
细心看图的朋友或许对数组上的注释有所利诱,比方,VPW,VBP这些究竟是什么东西?或许缩写咱们有点看不理解,我就将相应的界说罗列如下:
W:Width
H:Height
VPW:Vsync Pulse Width
VBP:VSYNC Back Porch
VFP:Vertical front Porch
HPW:Hsync Pulse Width
HBP:Hsync Back Porch
HFP:Hsync Front Porch
PWDX:Output Format
FREQ:Frequency
在这些数值傍边,除了W,H,PWDX和FREQ以外,都是和详细的LCD有关的。而这些有关的数值,都能够在相应的LCD屏中能够找到。以AT070TN83这款LCD为比如,其有个表格,指明晰这些数值的规模,如图:
咱们只需依据LCD的Datasheet引荐的数值直接填到lcd_cfg数组中即可。
那么,剩余的W,H,PWDX和FREQ又是什么数值呢?W和H比较好办,这个是和分辨率有关的,假如LCD的分辨率是800×480,那么W就为800,H便是480。至于输出格局PWDX嘛,那就有必要要看TCC89x的Datasheet了,如图:
从图中能够知道,假如LCD接纳的是RGB888 24bit的信号,那么PWDX就设置为12,不然就能够参阅列表挑选一个最合适的数值。
最终的一个数值FREQ,其实含义不大,由于60的频率能够习惯大部分的TFT屏。但假如LCD关于输出频率有严厉的要求,而且通过上面的数值设置还无法正常作业,能够测验调理这个数值试试。