您的位置 首页 电路

LCD显现错位问题解决

大概一个月前在TE2410开发板上移植好lcd的驱动,我的lcd是三星的TFTLCD,320*240,但是显示出来的图像有错位,如下图,拍得不清楚,可以看…

大约一个月前在TE2410开发板上移植好lcd的驱动,我的lcd是三星的TFT LCD,320*240,

可是显现出来的图画有错位,如下图,拍得不清楚,能够看到,比较亮的那块区域是minigui的一个程序

右边一块区域和上边一块区域是黑的。

其时因为课题时间比较紧,这个问题也没有去处理,这两天再来处理这个问题,看了移植部分的代码,没有发现什么过错,然后决议剖析lcd驱动的源代码,昨日在网上看到几篇lcd驱动剖析的文章,写得那是相当好,看了这是有种痛快淋漓的感觉,花了几个小时看完了驱动的源代码,不过仍是没有看出什么问题,今天下午在飞凌嵌入式技术论坛上找到了答案,其实问题仍是初始化的值不对,当然这个我早就猜到了,可是我不知道修正那个参数,下面阐明一下怎么修正。

static struct s3c2410fb_mach_info s3c2410_lcd_info __initdata = {
.fixed_syncs = 0,
.regs = {
.lcdcon1 = S3C2410_LCDCON1_TFT16BPP |
S3C2410_LCDCON1_TFT |
// S3C2410_LCDCON1_ENVID |
S3C2410_LCDCON1_CLKVAL(1),

.lcdcon2 =S3C2410_LCDCON2_VBPD(15)| S3C2410_LCDCON2_VFPD(5) | S3C2410_LCDCON2_VSPW(1),

.lcdcon3 =S3C2410_LCDCON3_HBPD(37)| S3C2410_LCDCON3_HFPD(40),

.lcdcon4 = S3C2410_LCDCON4_HSPW(31) | S3C2410_LCDCON4_MVAL(13),

.lcdcon5 = S3C2410_LCDCON5_FRM565 | S3C2410_LCDCON5_HWSWP | S3C2410_LCDCON5_PWREN|S3C2410_LCDCON5_INVVLINE|S3C2410_LCDCON5_INVVFRAME ,
},

.lpcsel = 0,// ((0xCE6) & ~7) | 1<<4,
.gpccon= 0xaaaaaaaa,
.gpccon_mask= 0xffffffff,
.gpcup= 0xffffffff,
.gpcup_mask= 0xffffffff,
.gpdcon= 0xaaaaaaaa,
.gpdup = 0xFFFFFFFF,
.gpdup_mask= 0xffffffff,
.width = 320,
.height = 240,

.yres = {
.min = 240,
.max = 240,
.defval = 240,
},

.xres = {
.min = 320,
.max = 320,
.defval = 320,
},

.bpp = {
.min = 16,
.max = 16,
.defval = 16,
},
};

这段代码是用于lcd初始化的,便是修正两个当地

.lcdcon2 =S3C2410_LCDCON2_VBPD(15)| S3C2410_LCDCON2_VFPD(5) | S3C2410_LCDCON2_VSPW(1),

S3C2410_LCDCON2_VBPD(15)这个15是我修正好的值,这个值越大 显现的图画就越往下偏.

这个值越小 显现的图画就越往上偏.

lcdcon3 =S3C2410_LCDCON3_HBPD(37)| S3C2410_LCDCON3_HFPD(40),

S3C2410_LCDCON3_HBPD(37)这个37是我修正好的值,这个值越大 显现的图画就越往右偏

这个值越小 显现的图画就越往左偏

当然这两个参数的取值是有规模的,具体要参阅lcd的数据手册。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/dianlu/275726.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部