阅读:2306回复:17
2410 LCD闪烁问题
我的LCD是从320*240改到800*480的,现在基本显示可以,但就是屏幕有点闪,请问是哪里的问题,硬件问题还是软件问题,高手请指点
|
|
沙发#
发布于:2007-11-26 14:11
是否是刷新率太低,你把刷新率提高看看
|
|
板凳#
发布于:2007-11-26 15:40
谢谢,请问刷新率在哪调,偶是新手
|
|
地板#
发布于:2007-11-26 20:34
LCD寄存器1 VCLK
|
|
|
地下室#
发布于:2007-11-27 14:05
谢谢楼上两位,
请问根据VCLK = HCLK / [(CLKVAL+1)*2],我把CLKVAL_TFT的值调小,那么VCLK就会变大,还是把LCD寄存器1的值改大,我把原来的6改为8,但都还是会闪,LCD寄存器1的配置如下: s2410LCD->rLCDCON1 = (8/*6*/ << 8) | /* VCLK = HCLK / ((CLKVAL + 1) * 2) -> About 7 Mhz */ (MVAL_USED << 7) | /* 0 : Each Frame */ (3 << 5) | /* TFT LCD Pannel */ (12 << 1) | /* 16bpp Mode */ (0 << 0) ; /* Disable LCD Output 还有个问题就是屏幕起来后四个边的触摸没有反应,我是从320*240改到800*480的,请问是不是只改大了显示范围,而触摸的范围也要做相应的修改?在哪里改? 请各位指点,谢谢 |
|
5楼#
发布于:2007-11-27 23:59
闪烁原因很多,仔细看屏的文档,设定好相应LCD控制寄存器的值,要特别注意时序。
触摸屏需要重新校准,看触摸屏驱动,在注册表力存放了校准值的。 |
|
|
6楼#
发布于:2007-11-28 11:28
谢谢cool_harber
触摸屏有校准,只是四个边没有反应,就是触摸的范围没有LCD显示的范围大,其它都可以正常触摸,看了触摸屏的驱动里面定义范围的最大和最小值如下: #define TOUCH_MAX_X 952 //950 #define TOUCH_MIN_X 88 //90 #define TOUCH_MAX_Y 996 //960 #define TOUCH_MIN_Y 84 //50 这是320*240的屏,不明白为什么是952 ,现在换成800*480的,不知道应该改为多少?请高手和版主指点 |
|
7楼#
发布于:2007-11-28 18:34
TOUCH_MAX_X TOUCH_MIN_X 等是触摸屏XY采样的最大值和最小值,改成多少要根据你的屏的实际值,你测下就可以了
|
|
8楼#
发布于:2007-11-28 22:40
分辨率是LCD的属性。
TOUCH_MAX_X是触摸屏的属性。 两者没啥关系。 这个MAX值是触摸屏控制器的AD转换的值。 你实测一下就知道了。 |
|
|
9楼#
发布于:2007-11-29 11:48
感谢两位的指点,请问一下,我的屏幕显示的时候画面向下移了一点,就是上面有一行没有显示到,想把整个画面向上移一点,该怎么办,
|
|
10楼#
发布于:2007-11-29 21:44
你的屏是要配置的吧,如果是就把场扫描的开始行数加一再写到相应的REG中。
|
|
11楼#
发布于:2007-11-30 11:58
感觉是H和V没调好的问题,我把VSPW设为1(之前是4)结果会好些,但还是有一小行没显示全,还有屏幕有点闪的问题,我把CLK调高了很多还是不行(之前是6,现调为16),下面是我的一些配置,请高手帮忙看看!
#define VBPD (8) #define VFPD (5)//(4) #define VSPW (1) //(4) #define HBPD (16)//(13) #define HFPD (8)//(4) #define HSPW (18) #define CLKVAL_TFT (2) 下面的在cfw.c和eboot\\main.c里面改 s2410LCD->rLCDCON1 = (16 << 8) | /* VCLK = HCLK / ((CLKVAL + 1) * 2) -> About 7 Mhz */ (MVAL_USED << 7) | /* 0 : Each Frame */ (3 << 5) | /* TFT LCD Pannel */ (12 << 1) | /* 16bpp Mode */ (0 << 0) ; /* Disable LCD Output */ |
|
12楼#
发布于:2007-11-30 21:56
点800*480的分辨率,DCLK的频率至少在18MHZ以上,从你贴出来的看不出你的V,H,DCLK是多少,你先量出来看看
|
|
13楼#
发布于:2007-12-04 17:41
谢谢qinlei_sz的指点,把VCLK调到高于18MHz之后显示好多了,但画面字的显示还有进入控制面板里面图标的显示还有点抖,量出来的值是:
VCLK=25.45MHz,VFRAME=61.58Hz, VLINE=30.54kHz, 下面是我的一些配置, #define VBPD (8) #define VFPD (5)//(4) #define VSPW (0) //(4) #define HBPD (16)//(13) #define HFPD (8)//(4) #define HSPW (3)//(18) #define CLKVAL_TFT (1) 下面的在cfw.c和eboot\\main.c里面改 s2410LCD->rLCDCON1 = (1 << 8) | /* VCLK = HCLK / ((CLKVAL + 1) * 2) -> About 7 Mhz */ (MVAL_USED << 7) | /* 0 : Each Frame */ (3 << 5) | /* TFT LCD Pannel */ (12 << 1) | /* 16bpp Mode */ (0 << 0) ; /* Disable LCD Output */ 请大侠指点 |
|
14楼#
发布于:2007-12-05 10:56
define VBPD (8)
#define VFPD (5)//(4) #define VSPW (0) //(4) #define HBPD (16)//(13) #define HFPD (8)//(4) #define HSPW (3)//(18) #define CLKVAL_TFT (1) 这些值是根据屏参设的 吗?那个VSPW怎么会用(0)呢?比较少见哦。。 |
|
15楼#
发布于:2007-12-05 13:54
define VBPD (8)
#define VFPD (5)//(4) #define HBPD (16)//(13) #define HFPD (8)//(4) 只有这四个是屏datasheat里面找的,VSPW用0是我自己调的,原先不是0,但显示的时候屏幕上面少了一行,我调到0画面好了很多(但没完全好),个人理解: VSPW和HSPW 会影响画面的大小 VBP=8,VFP=5,HBP=16,HFP=8 会影响图像的上下后前后偏移 请指点一下这些值对屏的闪或抖有什么影响,该怎么设定,谢谢 |
|
16楼#
发布于:2007-12-05 16:01
各位大侠,现在的屏幕不闪,但显示的字有点闪,特别是进入到控制面板里面点校准后出来的方框,里面的英文字母闪得有点模糊,请问是哪的问题?谢谢
|
|
17楼#
发布于:2007-12-13 21:16
我记得datasheet上有说vclk不能大于25m的,我用的是2442
|
|