天嵌 ARM开发社区

 找回密码
 注册
查看: 2059|回复: 4

lcd显示左右错位

[复制链接]
Zend 发表于 2015-4-17 22:02:37 | 显示全部楼层 |阅读模式
本帖最后由 Zend 于 2015-4-25 10:14 编辑

裸机程序,可以显示但是 左右错位

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| Zend 发表于 2015-4-18 07:58:33 | 显示全部楼层
我串口不能用,是把程序直接烧到norflash上的,会不会是这个原因。
亚瑟王 发表于 2015-4-20 16:15:52 | 显示全部楼层
90%的可能性是分辨率的问题。
 楼主| Zend 发表于 2015-4-21 21:21:03 | 显示全部楼层
亚瑟王 发表于 2015-4-20 16:15
90%的可能性是分辨率的问题。

那应该怎么弄啊,用的是4.3的设置啊
static void Lcd_Config(void)
{
           unsigned char Mval_Used=0,Bswp=0;
           rGPCCON = 0xaaaa02a9;
       rGPDCON = 0xaaaaaaaa;

       rLCDCON1 = (CLKVAL_TFT << 8)|(Mval_Used<<7)|(3 <<5 )|(BPPMODE_TFT << 1)|0  ;
   
       rLCDCON2 = (VBPD << 24)|(LINEVAL_TFT << 14)|(VFPD << 6)|(VSPW);
       rLCDCON3 = (HBPD << 19)|(HOZVAL_TFT << 8)|(HFPD);
       rLCDCON4 = (HSPW);
       rLCDCON5 = (FRM565_TFT << 11) | (INVVCLK_TFT << 10) | (INVVLINE_TFT << 9) | (INVVFRAME_TFT << 8)| (0<<7) | (0<<6) | (1<<3)  |(Bswp<<1) | (HWSWP) ;
               
                                                                                       
       rLCDSADDR1 = (((unsigned int)LCD_BUFFER >> 22) << 21) | LOW21BITS((unsigned int)LCD_BUFFER >> 1);
       rLCDSADDR2 = LOW21BITS( ((unsigned int)LCD_BUFFER + (LCD_YSIZE_TFT * LCD_XSIZE_TFT *2) ) >> 1 );
       rLCDSADDR3 = (0 << 11) | (LCD_XSIZE_TFT / 1);
       rLCDINTMSK |= (3);                                                    // MASK LCD Sub Interrupt
       rTCONSEL &= ~((1 << 0)| (1 << 1) | (1 << 2)) ;                                                                 // Disable LPC3480
       rTPAL = 0;
}
 楼主| Zend 发表于 2015-4-22 19:28:13 | 显示全部楼层
确实是分辨率搞错了,volatile unsigned short LCD_BUFFER[272][480];
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-3 22:42 , Processed in 1.031250 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表