打印

庆贺下,2410点屏OK ...

[复制链接]
3243|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
playlinus|  楼主 | 2008-12-2 22:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zyok| | 2008-12-2 23:00 | 只看该作者

祝贺

使用特权

评论回复
板凳
brandnew| | 2008-12-2 23:10 | 只看该作者

。。。

牛!

使用特权

评论回复
地板
lyjbighead| | 2008-12-2 23:50 | 只看该作者

祝贺!!!

使用特权

评论回复
5
playlinus|  楼主 | 2008-12-3 09:11 | 只看该作者

裸奔,没带系统来着,代码有三百多K啦...

使用特权

评论回复
6
古道热肠| | 2008-12-3 10:28 | 只看该作者

裸奔也很美呀

分辨率几何?

使用特权

评论回复
7
纯金属| | 2008-12-3 10:51 | 只看该作者

请教楼主

我在0x3380 0000内存处开辟了显示内存空间,然后在ADS+HJTAG在线仿真下修改 0x3380 0001 。。。地址上的数据。从MEMORY窗口观察数据确实写进显存了,那为什么屏上没有显示呢?

附上我的初始化程序,请您帮我看看。
static void Lcd_Init(void)
{
    rGPCUP=0xffffffff; // Disable Pull-up register
    rGPCCON=0xaaaaaaaa; //Initialize VD[7:0],LCDVF[2:0],VM,VFRAME,VLINE,VCLK,LEND 

    rGPDUP=0xffffffff; // Disable Pull-up register
    rGPDCON=0xaaaaaaaa; //Initialize VD[15:8]

frameBuffer16BitTft320240A = (U32(*)[SCR_XSIZE_TFT_320240])LCDFRAMEBUFFERA;
//frameBuffer16BitTft320240B = (U16(*)[SCR_XSIZE_TFT_320240])LCDFRAMEBUFFERB;
//frameBuffer16BitTft320240C = (U16(*)[SCR_XSIZE_TFT_320240])LCDFRAMEBUFFERC;

    
    rLCDCON1=(CLKVAL_TFT_240320<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0;
        // TFT LCD panel,12bpp TFT,ENVID=off
    rLCDCON2=(VBPD_240320<<24)|(LINEVAL_TFT_240320<<14)|(VFPD_240320<<6)|(VSPW_240320);
    rLCDCON3=(HBPD_240320<<19)|(HOZVAL_TFT_240320<<8)|(HFPD_240320);
    rLCDCON4=(MVAL<<8)|(HSPW_240320);
    rLCDCON5=(1<<11)|(1<<9)|(1<<8);    //FRM5:6:5,HSYNC and VSYNC are inverted
    
    rLCDSADDR1=(((U32)frameBuffer16BitTft320240A>>22)<<21)|M5D((U32)frameBuffer16BitTft320240A>>1);//lcd dma 起始地址
    rLCDSADDR2=M5D( ((U32)frameBuffer16BitTft320240A+(SCR_XSIZE_TFT_240320*LCD_YSIZE_TFT_240320*2))>>1 );//结束地址
    rLCDSADDR3=(((SCR_XSIZE_TFT_240320-LCD_XSIZE_TFT_240320)/1)<<11)|(LCD_XSIZE_TFT_240320/1);
    rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
    rLPCSEL&=(~7); // Disable LPC3600
    rTPAL=0; // Disable Temp Palette
    
    
}
<hr>
void Lcd_Tft_LTV350QV_F05_Init(void)
{
           Lcd_Init();
    //LcdBkLtSet( 70 ) ;
    rLPCSEL&=~(7);
         rLPCSEL|=(7); // 240320,Enable LPC3600    
    Lcd_PowerEnable(0, 1);
         Lcd_EnvidOnOff(1);        //turn on vedio
          Lcd_ClearScr(0xce40);

}
<hr>
**************************************************************
320×240 16Bpp TFT LCD全屏填充特定颜色单元或清屏
**************************************************************/
void Lcd_ClearScr( U32 c)
{
    unsigned int x,y ;
        
    for( y = 0 ; y < SCR_YSIZE_TFT_320240 ; y++     {
        for( x = 0 ; x < SCR_XSIZE_TFT_320240 ; x++ )
        {
            frameBuffer16BitTft320240A[y][x] = c ;
        }
    }
}

使用特权

评论回复
8
playlinus|  楼主 | 2008-12-3 13:46 | 只看该作者

楼上,你的framebuffer地址是在 0x3380 0001吗>???

/??//

使用特权

评论回复
9
纯金属| | 2008-12-3 14:29 | 只看该作者

写错了,是在0X3380 0000

我完全参考网上下的 smdk2410程序的。
现在能做到只能是填充屏幕。而不能画点和画线。

使用特权

评论回复
10
纯金属| | 2008-12-3 15:00 | 只看该作者

搞了短短2天时间,关于LCD寄存器控制具体含义还没有深究,我有几个问题想请楼主帮忙解答:
1 我设置60HZ刷新,是不是我只要往显存中 更新数据了,1/60秒后LCD就会有变化?
2 为什么显存要定义在指定SRAM中,由编译器自动生成不好么?

3 frameBuffer16BitTft240320=(U32 (*)[SCR_XSIZE_TFT_240320])LCDFRAMEBUFFER;
 我觉得这里定义显存大小应该是:
frameBuffer16BitTft240320=(U32 (*)[SCR_XSIZE_TFT_240320]×[SCR_YSIZE_TFT_240320])LCDFRAMEBUFFER;

谢谢啊。

使用特权

评论回复
11
playlinus|  楼主 | 2008-12-3 15:23 | 只看该作者

楼上,你的问题

第1个理解不对: 60HZ是指刷屏速度,是指刷满一屏时间为1/60 S
第2个理解: RAM空间可读写,速度快,一部分ROM.FLASH等空间可读不可写
第3个理解: 如果是16bpp的屏,framebuffer只要U16 [x size] * [y size] 就可以了,当然如果你设置更大一些应该也可以,只是在给address 1 - 3赋值的方式就要对应更改了... 

使用特权

评论回复
12
纯金属| | 2008-12-3 16:00 | 只看该作者

那什么时候LCD控制器会去刷新屏幕?

那什么时候LCD控制器会去刷新屏幕?
关于第二个问题,我说的还不够清楚,编译器自动定义也是在sdram中的。
谢谢你。回答的真快,好羡慕你。
如果你的是三星16位TFT
能不能把你的LCD控制器初始化放出来参考下?

使用特权

评论回复
13
lamdoc| | 2008-12-3 16:03 | 只看该作者

北京人民发来贺电!!!!

北京人民发来贺电!!!!

使用特权

评论回复
14
yewuyi| | 2008-12-3 16:14 | 只看该作者

和北京人民有关系?

使用特权

评论回复
15
纯金属| | 2008-12-3 16:20 | 只看该作者

13楼在发扬MOP精神

太和谐了。

使用特权

评论回复
16
icecut| | 2008-12-3 16:21 | 只看该作者

你应该修改buffer的数据

buffer的位置可能不是你想像的0x3380 0000内存处开辟了显示内存空间
应该是 frameBuffer16BitTft240320=(U32 (*)[SCR_XSIZE_TFT_240320])LCDFRAMEBUFFER;这个数组的位置.并且要声明这个数组占地方,防止编译器把这块地址分配给别的.

使用特权

评论回复
17
biehoff| | 2008-12-3 17:28 | 只看该作者

RE

太羡慕了  我只能搞ARM7的STN·······

使用特权

评论回复
18
playlinus|  楼主 | 2008-12-3 18:56 | 只看该作者

建议纯金属兄弟还是先把2410的LCD控制器参数熟悉下先

.....

使用特权

评论回复
19
纯金属| | 2008-12-4 07:35 | 只看该作者

playlinus 谢谢你

刚才搜索了本网站 看见你也发了不少问贴啊,看来要做到你这样 也不是一时半刻的事。
我接下来会好好看datasheet的。

使用特权

评论回复
20
playlinus|  楼主 | 2008-12-4 09:49 | 只看该作者

玩得差不多的时候再讨论...

......

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

102

主题

518

帖子

2

粉丝