新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > LCD顯示錯位問題解決

        LCD顯示錯位問題解決

        作者: 時間:2016-11-10 來源:網絡 收藏
        大概一個月前在TE2410開發板上移植好lcd的驅動,我的lcd是三星的TFT LCD,320*240,

        但是顯示出來的圖像有錯位,如下圖,拍得不清楚,可以看到,比較亮的那塊區域是minigui的一個程序

        本文引用地址:http://www.104case.com/article/201611/317264.htm

        右邊一塊區域和上邊一塊區域是黑的。

        當時由于課題時間比較緊,這個問題也沒有去解決,這兩天再來解決這個問題,看了移植部分的代碼,沒有發現什么錯誤,然后決定分析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的數據手冊。



        關鍵詞: LCD顯示錯

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 额济纳旗| 丘北县| 彭山县| 聊城市| 南投市| 镇远县| 黄龙县| 洪泽县| 威远县| 凌海市| 安吉县| 邵东县| 安国市| 怀宁县| 隆化县| 乳源| 瑞丽市| 临武县| 松潘县| 治多县| 若尔盖县| 天长市| 琼结县| 枝江市| 永济市| 周至县| 上杭县| 仁怀市| 大宁县| 桂东县| 天峻县| 武定县| 乌鲁木齐县| 郎溪县| 红原县| 永善县| 嵩明县| 化隆| 崇文区| 南和县| 乌拉特中旗|