主题 : mni2440lcd显现问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 44460
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
综合积分: 32 分
注册时间: 2011-04-25
最后登录: 2015-08-04
楼主  发表于: 2011-05-01 21:01

 mni2440lcd显现问题

救命啊,板子是mini2440,lcd是sony3.5寸的,裸机跑lcd程序,
#define    GLOBAL_CLK        1
#include <stdlib.h>
#include <string.h>
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h"
#include "mmu.h"
#include "profile.h"
#include "memtest.h"
#define high (320-1)
#define wide (240-1)
volatile unsigned long lcd_buffer[320][240];
void Main()
{
   int x,y,n,m;
   rGPCUP=0xffffffff;
   rGPCCON=0xaaaa02a8;
   rGPDUP=0xffffffff;
   rGPDCON=0xaaaaaaaa;
   rGPGCON|=3<<8;
   rLCDCON1=( 1<<8)|(3<<5)|(12<<1);
   rLCDCON2=(2<<24)|(high<<14)|(2<<6);
   rLCDCON3=(28<<19)|(wide<<8)|(1<<0);
   rLCDCON4=1<<0;
   rLCDCON5=(1<<11)|(1<<9)|(1<<8)|(1<<6)|(1<<3);
   rLCDSADDR1=((((unsigned long)lcd_buffer)>>22)<<21)|((((unsigned long)lcd_buffer)>>1)&0x001fffff);
   rLCDSADDR2=((unsigned long)(lcd_buffer+240*320*2))>>1;      
   rLCDCON1|=1;
   rGPGDAT|=1<<4;
  
  
  /* for(y=0;y<320;y++)
   {
       for(x=0;x<240;x++)
       {
         lcd_buffer[y][x]=0xffff;
       }
   }
   /* for(n=10000;n>0;n++)
     for(m=40;m>0;m++)  
        ;*/
  for(y=0;y<320;y++)
   {
      for(x=0;x<240;x++)
      {
         lcd_buffer[y][x]=0xffff;
      }
   }
  
  
}
总是上下闪烁,参数调到想吐了,大侠救命啊        
        
        
        
        
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2011-05-02 06:01
2440test里面已经有X35的参数了。
[ 此帖被mindee在2011-05-02 13:57重新编辑 ]
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 44460
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
综合积分: 32 分
注册时间: 2011-04-25
最后登录: 2015-08-04
2楼  发表于: 2011-05-02 12:53
我按照2440test里面的参数设置了,但根本不亮,后来慢慢调,可以正常显示,但是总是闪烁,不稳定,我把vclk调到最高了,发现闪烁减少,我怀疑是选择16bpp模式,导致机子负荷太大,有谁懂选择8bpp这种模式显示lcd的,急救下