关于2410显示颜色问题

jsglf   2009-1-15 15:34 楼主
   2410的板子320X240的分辨率,是16bpp的,现在板子显示颜色有问题,背景色是橘红色,打开东西之后是黑色,请问是什么问题?改如何修改??

回复评论 (11)

看看你LCD那块初始化成什么样子,还有就是你的ARM的24根LCD线是怎么取舍的。
点赞  2009-1-15 15:39
楼上是说寄存器的初始化吗?我是初学者,您讲的我不是很清楚。
点赞  2009-1-15 15:52
引用: 引用 2 楼 Angelina84 的回复:
楼上是说寄存器的初始化吗?我是初学者,您讲的我不是很清楚。


对,还有你的硬件接线。高低位怎么取舍的
点赞  2009-1-15 16:53
硬件应该没有没问题,因为在linux下显示正常。我把寄存器初始化发上来,你帮我看看,谢谢。
s2410LCD->rLCDCON1 = (2            <<     8) |   // TFT LCD panel,16bpp TFT,ENVID=off
                                 (MVAL_USED    <<     7) |
                                 (3            <<     5) |
                                 (12           <<     1) | 0;  
        s2410LCD->rLCDCON2 = (VBPD         <<    24) |
                                 (LINEVAL_TFT  <<    14) |
                                 (VFPD         <<     6) |(VSPW);
        s2410LCD->rLCDCON3 = (HBPD         <<    19) |
                                 (HOZVAL_TFT   <<     8) |(HFPD);
        s2410LCD->rLCDCON4 = (MVAL         <<     8) |(HSPW);
        s2410LCD->rLCDCON5 = (1            <<    11) |
                                 (1            <<    10) |
                                                 (1            <<     9) |
                                                 (1            <<     8) |
                                                 (0            <<     7) |
                                                 (1            <<     3) |
                                                 (1            <<     0); //FRM5:6:5,HSYNC and VSYNC are inverted
   
        s2410LCD->rLCDSADDR1 =( (FRAMEBUF_DMA_BASE >> 22)<<21)|M5D(FRAMEBUF_DMA_BASE>>1);
        s2410LCD->rLCDSADDR2 =M5D( (FRAMEBUF_DMA_BASE+(LCD_XSIZE_TFT*LCD_YSIZE_TFT*2))>>1 );
        s2410LCD->rLCDSADDR3 =(((LCD_XSIZE_TFT-LCD_XSIZE_TFT)/1)<<11)|(LCD_XSIZE_TFT/1);
       
        s2410LCD->rLCDINTMSK |=(3);                        // MASK LCD Sub Interrupt
        s2410LCD->rLPCSEL &=(~7);                          // Disable LPC3600
        s2410LCD->rTPAL=0;                                // Disable Temp Palette
        s2410LCD->rLCDCON1 |= 1;
点赞  2009-1-16 09:26
为什么没人踩呢??
点赞  2009-1-16 14:46
引用: 引用 5 楼 Angelina84 的回复:
为什么没人踩呢??


你仔细看看你发的帖子和别人的有什么不同........呵呵
点赞  2009-1-16 14:49
寄存器的配置不会导致颜色的偏差。这种情况要么是硬件连线的问题,要么是厂家给的LCD初始化序列有问题
点赞  2009-1-16 16:27
引用: 引用 7 楼 Ricky_hu 的回复:
寄存器的配置不会导致颜色的偏差。这种情况要么是硬件连线的问题,要么是厂家给的LCD初始化序列有问题


对, 友善卖的板子是NEC3.5那种启动的时候都会有很多彩色条纹的。
点赞  2009-1-16 16:54
引用: 引用 6 楼 gooogleman 的回复:
引用 5 楼 Angelina84 的回复:
为什么没人踩呢??


你仔细看看你发的帖子和别人的有什么不同........呵呵

没看出来有什么不同,是不是因为没分????????高手指点一下
点赞  2009-1-16 16:56
确实是因为没分,你的问题很可能是接线的问题,
点赞  2009-1-16 17:03
我第一次来这里发贴,不知道这里的规矩,我试了两次才把帖子发上来。
点赞  2009-1-19 09:27
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复