2410的板子320X240的分辨率,是16bpp的,现在板子显示颜色有问题,背景色是橘红色,打开东西之后是黑色,请问是什么问题?改如何修改??
看看你LCD那块初始化成什么样子,还有就是你的ARM的24根LCD线是怎么取舍的。
楼上是说寄存器的初始化吗?我是初学者,您讲的我不是很清楚。
硬件应该没有没问题,因为在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;
引用: 引用 5 楼 Angelina84 的回复:
为什么没人踩呢??
你仔细看看你发的帖子和别人的有什么不同........呵呵
寄存器的配置不会导致颜色的偏差。这种情况要么是硬件连线的问题,要么是厂家给的LCD初始化序列有问题
引用: 引用 7 楼 Ricky_hu 的回复:
寄存器的配置不会导致颜色的偏差。这种情况要么是硬件连线的问题,要么是厂家给的LCD初始化序列有问题
对, 友善卖的板子是NEC3.5那种启动的时候都会有很多彩色条纹的。
引用: 引用 6 楼 gooogleman 的回复:
引用 5 楼 Angelina84 的回复:
为什么没人踩呢??
你仔细看看你发的帖子和别人的有什么不同........呵呵
没看出来有什么不同,是不是因为没分????????高手指点一下
我第一次来这里发贴,不知道这里的规矩,我试了两次才把帖子发上来。